help-octave
[Top][All Lists]
Advanced

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

Re: Plotting, hold-on, colors


From: Ben Boxman
Subject: Re: Plotting, hold-on, colors
Date: Mon, 1 Sep 2008 23:54:11 -0700 (PDT)

Hi,

  I tried "set (gca, 'colororder', colors)", but what this seems to allow me
is to change the order of the colors as used by plot (e.g. changing the
second used color from green to red). This is isn't my problem -- I'm having
a problem with "hold on".

  My problem is not the actual colors in the color order, but that toggling
"hold on" will keep the same color. For instance, if I do the following:
x = [1:100]
plot(x, sin(x), x, cos(y))
I get a graph with sin(x) showing up with one color, and cos(y) showing up
with another (for some reason, blue and green).

However, if I do:
hold off;
plot(x, sin(x))
hold on;
plot(x, sin(y))
I get a graph with sin(x) and cos(x) sharing the same color (blue).

This used to work properly in the old octave chain (i.e. 2.1.x) and seems to
be broken at least from 2.9.x.

I want to use hold. It is inconvenient to:
1) Set colors manually for each plot.
or:
2) Pass these all off as one plot.
And -- if I'm using another function that produces a plot (e.g. hist, or
pwelch, or perhaps even one of my own) -- which I wish to superimpose on
another, it can get even more difficult.


Many thanks,

Ben Boxman



Ben Abbott wrote:
> 
> 
> On Sep 1, 2008, at 5:25 PM, Ben Boxman wrote:
> 
>>
>> Hi,
>>
>>  I've compiled the latest Octave (3.0.2) And the latest released  
>> gnuplot
>> (4.2.3).
>>
>>  I'm vexed by octave/gnuplot not changing colors when plotting  
>> additional
>> plots with hold-on. Yes, I know I can set colors manually (or pass all
>> arguments to one big plot call) -- but this is:
>> 1) Cumbersome for normal plots.
>> 2) Even more cumbersome when using hist() and other built-in functions
>> on-top of plot (with hist, you can get the output, and then call yet  
>> another
>> function (bar -- that doesn't produce exactly the same results  
>> ([x,y] =
>> hist(z); bar(y,x);  -- is visually different than hist(z) --  
>> probably some
>> style default?)....).
>>
>>  This used to work properly in previous (<2.9.x) versions of octave.  
>> I use
>> plots extensively, typically, I'll crunch some numbers in the  
>> command line
>> and blurt them out as a plot/histogram (much easier to do this in  
>> octave
>> than in gnuplot, any manipulation/processing/filtering is so much  
>> easier
>> inside of octave). Just about every second plot I make involves  
>> multiple
>>
>>  Is there any quick solution for this?
>>
>>  Is this a gnuplot issue (e.g. like the zoom problem)? Will this be  
>> solved
>> if I compile the unstable gnuplot 4.3?
>>  Is there any way I can patch octave to fix this (e.g., changing the
>> default 'blue' to something cyclic, and intercepting hold and  
>> resetting said
>> cyclic variable?)?
>>
>>
>> Man thanks,
>>
>> Ben Boxman
> 
> The Octave developers are actively working to improve Octave's  
> compatibility with Matlab.
> 
> Regarding  the order of the colors, you can change the order by  
> modifying the "colororder" property associated with the axis.  See ...
> 
>  > get (gca, 'colororder')
> 
>   ans = 0.00000 0.00000 1.00000
>         0.00000 0.50000 0.00000
>         1.00000 0.00000 0.00000
>         0.00000 0.75000 0.75000
>         0.75000 0.00000 0.75000
>         0.75000 0.75000 0.00000
>         0.25000 0.25000 0.25000
> 
> so you could
> 
>       colors = get (gca, 'colororder')
> 
> them modify the colors and/or order and then
> 
>       set (gca, 'colororder', colors)
> 
> Is that sufficient for you needs?
> 
> Ben
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Help-octave mailing list
> address@hidden
> https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Plotting%2C-hold-on%2C-colors-tp19256790p19265060.html
Sent from the Octave - General mailing list archive at Nabble.com.



reply via email to

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