octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: stem plot problem


From: Ben Abbott
Subject: Re: stem plot problem
Date: Fri, 17 Oct 2008 21:18:43 -0400


On Oct 17, 2008, at 5:51 PM, Ben Abbott wrote:

On Friday, October 17, 2008, at 02:45PM, "John W. Eaton" <address@hidden > wrote:
I'm seeing the following problem with the current development sources
(this is demo 7 in stem.m):

octave:1>  x = [0:10].';
octave:2>  y = [sin(x), cos(x)];
octave:3>  h = stem (x, y);
octave:4>  set (h(2), "color", "g");
octave:5>  set (h(1), "basevalue", 1)
error: number of rows must match (33 != 11) near line 468, column 33
error: called from:
error: /home/jwe/src/octave/scripts/plot/__go_draw_axes__.m at line 468, column 24 error: /home/jwe/src/octave/scripts/plot/__go_draw_figure__.m at line 56, column 8 error: /home/jwe/src/octave/scripts/plot/gnuplot_drawnow.m at line 68, column 5

The problem appears to be this concatenation at line 465 in
__go_draw_axes__.m:

              data{data_idx} = [xdat, ydat]';

Again, I don't understand what is supposed to be happening, or why
xdat has 11 elements and ydat has 33 at this point.  I could use
some help fixing this problem.

jwe

I don't think the problem is in __go_draw_axes__.m

If the last line of that demo is removed (the one below), there is no error.

%! set (h(1), "basevalue", -1)

I inserted the lines below ahead of the error

%! get(get(get (h(1),'children')(1), 'children'), 'xdata')
%! get(get(get (h(1),'children')(1), 'children'), 'ydata')
%! get(get(get (h(1),'children')(2), 'children'), 'xdata')
%! get(get(get (h(1),'children')(2), 'children'), 'ydata')

The 1st & 2nd produce a 1x11 vector
The 3rd & 4th produce a 1x33 vector

After examining the line that fails in __go_draw_axes__.m, it appears an attempt is made to plot the xdata from the 1st with the ydata from the 4th.

I'll have to bone up on what "basevalue" is before going any deeper.


The handle h(1) points to an hggroup. Looking at the lines of the group all the xdata and ydata appear to be correct. Once the set command gets run, I'm not sure what the sequence of events is.

Ben

ok, I'm in over my head, but it appears that the problem is with "update_props" .... and for those "in the know", the question is which "update_props"?

In __stem__.m it is defined as ...

        509 function update_props (h, d)
        510   kids = get (h, "children");
        511   set (kids(1), "color", get (h, "color"),
        512        "linewidth", get (h, "linewidth"),
        513        "linestyle", get (h, "linestyle"));
        514   set (kids(2), "color", get (h, "color"),
        515        "marker", get (h, "marker"),
        516        "markerfacecolor", get (h, "markerfacecolor"),
        517        "markersize", get (h, "markersize"));
        518 endfunction

In __add_line_series__.m

         52 function update_props (h, d)
         53   set (get (h, "children"), "color", get (h, "color"),
         54        "linewidth", get (h, "linewidth"),
         55        "linestyle", get (h, "linestyle"),
         56        "marker", get (h, "marker"),
         57        "markerfacecolor", get (h, "markerfacecolor"),
         58        "markeredgecolor", get (h, "markeredgecolor"),
         59        "markersize", get (h, "markersize"),
         60        "xdata", get (h, "xdata"),
         61        "ydata", get (h, "ydata"),
         62        "zdata", get (h, "zdata"));
         63 endfunction

I suggest such after pasting the lines below into the octave console

         x = [0 : 10].';
         y = [sin(x), cos(x)];
         h = stem (x, y);
         set (h(2), "color", "g");
         set (h(1), "basevalue", -1)

Which produced the following ...

octave:158>  x = [0 : 10].';
octave:159>  y = [sin(x), cos(x)];
octave:160>  h = stem (x, y);
octave:161>  set (h(2), "color", "g");
octave:162>  set (h(1), "basevalue", -1)

error: invalid value for array property "ydata"
error: set: expecting argument 18 to be a property name
error: called from:
error: /Users/bpabbott/Development/mercurial/octave-3.1.51/scripts/ plot/__add_line_series__.m at line 56, column 1
error: invalid graphics handle
error: /Users/bpabbott/Development/mercurial/octave-3.1.51/scripts/ plot/__stem__.m at line 509, column 3
error: invalid graphics handle
error: /Users/bpabbott/Development/mercurial/octave-3.1.51/scripts/ plot/__stem__.m at line 479, column 2
error: invalid graphics handle
error: /Users/bpabbott/Development/mercurial/octave-3.1.51/scripts/ plot/__stem__.m at line 495, column 5
octave:162>

This is getting a bit too much for a guy on a Friday night with 3 beers behind him, so I'm off to other entertainment .... until tomorrow ;-)

Ben




reply via email to

[Prev in Thread] Current Thread [Next in Thread]