changeset 9085:136e72b9afa8

correct indexing of cdata for scatter
author David Bateman <dbateman@free.fr>
date Fri, 03 Apr 2009 22:23:41 +0200
parents b7210faa3ed0
children 4218f9515258
files scripts/ChangeLog scripts/plot/__scatter__.m
diffstat 2 files changed, 28 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/ChangeLog
+++ b/scripts/ChangeLog
@@ -1,3 +1,7 @@
+2008-04-03  David Bateman  <dbateman@free.fr>
+
+	* plot/__scatter__.m: correct indexing of cdata.x
+
 2009-04-03  Jaroslav Hajek  <highegg@gmail.com>
 
 	* optimization/fminunc.m: New function.
--- a/scripts/plot/__scatter__.m
+++ b/scripts/plot/__scatter__.m
@@ -149,7 +149,8 @@
       h = __go_patch__ (hg, "xdata", x(i), "ydata", y(i), "zdata", z(i,:),
 			"faces", 1, "vertices", [x(i), y(i), z(i,:)], 
 			"facecolor", "none", "edgecolor", "flat", 
-			"cdata", c(i), "marker", marker, "markersize", s(i), 
+			"cdata", reshape(c(i,:),[1,size(c)(2:end)]), 
+			"marker", marker, "markersize", s(i), 
 			"linestyle", "none");
       if (filled)
 	set(h, "markerfacecolor", "flat"); 
@@ -215,14 +216,28 @@
   endif
   hlist = get (h, "children");
   if (ischar (c1))
-    for i = 1 : length (hlist)
-      set (hlist(i), "vertices", [x1(i), y1(i), y2(i)], "cdata", c1,
-	   "markersize", size1(i));
-    endfor
+    if (isempty (z1))
+      for i = 1 : length (hlist)
+	set (hlist(i), "vertices", [x1(i), y1(i)], "cdata", c1,
+	     "markersize", size1(i));
+      endfor
+    else
+      for i = 1 : length (hlist)
+	set (hlist(i), "vertices", [x1(i), y1(i), z1(i)], "cdata", c1,
+	     "markersize", size1(i));
+      endfor
+    endif
   else
-    for i = 1 : length (hlist)
-      set (hlist(i), "vertices", [x1(i), y1(i), y2(i)], "cdata", c1(i,:),
-	   "markersize", size1(i));
-    endfor
+    if (isempty (z1))
+      for i = 1 : length (hlist)
+	set (hlist(i), "vertices", [x1(i), y1(i)], "cdata", 
+	     reshape(c1(i,:),[1, size(c1)(2:end)]), "markersize", size1(i));
+      endfor
+    else
+      for i = 1 : length (hlist)
+	set (hlist(i), "vertices", [x1(i), y1(i), z1(i)], "cdata", 
+	     reshape(c1(i,:),[1, size(c1)(2:end)]), "markersize", size1(i));
+      endfor
+    endif
   endif
 endfunction