1
我在同一图中绘制10条线,并使用内置选项plot
循环显示颜色。可悲的是,这个选项只有7种颜色,然后从第一个颜色开始。在颜色循环一次时,是否有像Matlab这样的选项可以获得不同的线型? 我知道我可以为每一行手动更改颜色和线条样式,但我更喜欢自动解决方案。有多条线的Scilab图:自动循环槽'LineSpec'的样式
我在同一图中绘制10条线,并使用内置选项plot
循环显示颜色。可悲的是,这个选项只有7种颜色,然后从第一个颜色开始。在颜色循环一次时,是否有像Matlab这样的选项可以获得不同的线型? 我知道我可以为每一行手动更改颜色和线条样式,但我更喜欢自动解决方案。有多条线的Scilab图:自动循环槽'LineSpec'的样式
我不知道内置的方式来做到这一点,但阅读Linespec
手册页,您可以创建一个函数来循环所有说明符。
其中最简单的是:
function Linespec=CycleSpec(n)
// n : from 0 to N
Linestyle =['-';'--';':';'-.']
Linecolor = ['r';'g';'b';'c';'m';'y';'k';'w']
Linemarker =['';'+';'o';'*';'.';'x';'s';'d';'^';'v';'>';'<';'p']
i = modulo(n,size(Linecolor,'*'))+1
j = modulo(floor(n/size(Linecolor,'*')),size(Linestyle,'*'))+1
k = modulo(floor(n/size(Linecolor,'*')/size(Linestyle,'*')),size(Linemarker,'*'))+1
Linespec = Linestyle(j)+Linecolor(i)+Linemarker(k)
endfunction
这可能是用作
figure(1)
for n=0:40
plot(x,x+n,CycleSpec(n))
end
如果你真的想要的东西简单,我们可以添加一个全局变量保存计数器,所以你只需要调用该功能,不需要参数
function Linespec=CycleSpec()
// n : from 0 to N
global CycleSpecCounter
if CycleSpecCounter==[] then
CycleSpecCounter = 0
end
n=CycleSpecCounter
[...] same code as before [...]
CycleSpecCounter=CycleSpecCounter+1
endfunction
而你只需要键入
plot(x,x+n,CycleSpec())