Le 03/06/2023 à 18:17, Heinz Nabielek a écrit :


[sorry, has been asked before but forgot]: how do I plot 9 curves with 
automatic colour sequencing?

o       Problem #1: colour 8 is white and I cannot see my curve
o       Problem #2: colours >= 9 become rather non distinct

Is there an easy solution without complex SciLab acrobatics?

The same topic was dealt with on 202-03-20 @ 

Defining a general strategy of automatic assignment of curves style is not 
necessarily trivial.
The current strategy is not the same for plot(): cycling over 7 colors ; and 
for plot2d(): scanning the current colormap

Whatever the strategy that you design and then propose and use, it will always 
have a limit.
You can't expect to have a always valid method.

The current plot() strategy could be improved for instance by cycling in a 
nested way first over line styles,
starting with solid lines as now, and then over line colors.
This would increase the limit to 7x10=70 styles, instead of currently 7.

Please feel free to open a report about the topic if you deem it is worthwhile, 
with a rationale. Any actual algorithmic proposal is also welcome.

There is no general solution, but there are easy ways to customize the curve 
styles by hand, even at calling time, without post-processing.

x = 0:.05:1;
clf reset
plot(x, sin(x'*(1:10)), "color",[1:6 13 17 28 32])    // "color" option
legend(msprintf("Curve #%d\n",(1:10)'), "in_lower_left");


With plot2d(), you get the same figure without the legend with:

x = 0:.05:1;
clf reset
plot2d(x, sin(x'*(1:10)), [1:6 13 17 28 32])

You may also customize the colormap before calling plot2d(), without the style 
The hsvcolormap is quite handy because it alternates colors:

x = 0:.05:1;
gcf().color_map = hsvcolormap(11);
plot2d(x, sin(x'*(1:10)))
legend(msprintf("Curve #%d\n",(1:10)'), "in_lower_left");


All these options are documented.


This email and any attachments are intended solely for the use of the 
individual or entity to whom it is addressed and may be confidential and/or 

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email 
and all attachments,

(iii) Dassault Systèmes does not accept or assume any liability or 
responsibility for any use of or reliance on this email.

Please be informed that your personal data are processed according to our data 
privacy policy as described on our website. Should you have any questions 
related to personal data protection, please contact 3DS Data Protection Officer 

users mailing list - users@lists.scilab.org
Click here to unsubscribe: <mailto:users-unsubscr...@lists.scilab.org>

Reply via email to