diff scripts/plot/__scatter__.m @ 9085:136e72b9afa8

correct indexing of cdata for scatter
author David Bateman <dbateman@free.fr>
date Fri, 03 Apr 2009 22:23:41 +0200
parents eb63fbe60fab
children 10b9a71a81f1
line wrap: on
line diff
--- 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