Matlab循环画图显示不同线色与图例
显示不同线色
今天用matlab画图涉及到的数据较多,但是plot
画图的颜色通常是八种:
标记符 | 颜色 |
---|---|
r | 红 |
g | 绿 |
b | 蓝 |
c | 蓝绿 |
m | 紫红 |
y | 黄 |
k | 黑 |
w | 白 |
如果自己用'Color'
调整RGB值域获得不同颜色的话还要自己取色比较麻烦,所以谷歌了一下,发现原来可以这样写。
众所周知,在matlab中可以用rgb改变颜色,即[a/255 b/255 c/255]
代表一种颜色,例如
plot(x,y,'Color',[1 0 0]);%代表红色
plot(x,y,'Color',[0 1 0]);%代表绿色
plot(x,y,'Color',[0 0 1]);%代表蓝色
因此我们可以生成一个一行三列的随机矩阵,且值均在0~1之间,即使用rand(1,3)
;
这里以semilogy
半对数图为例:
semilogy(pH,T_U{:,i},'LineWidth',2,'color',rand(1,3));
%rand(1,3)生成一个一行三列的随机矩阵,且都在0~1之间,所以我们可以生成随机颜色的线
感觉这种方法的有优点也有缺点:
- 优点:对于调色苦手而言可以免除调色的烦恼,开盲盒次数够多总能开到好看的颜色;
- 缺点:不能只调整部分线条的颜色,不过我不知道属性检查器是否可以调整
感觉这种方法对于颜色要求不高的话还是挺实用的。
显示不同图例
Legend_U=cell(17,1);
Legend_U{1}='$UO_2SO_4$';
Legend_U{2}='$Mg[UO_2(CO_3)_3]^2-$';
Legend_U{3}='$UO_2F^+$';
Legend_U{4}='$UO_2CO_3$';
Legend_U{5}='$UO_2SO_4$';
Legend_U{6}='$UO_2(OH)_3^-$';
Legend_U{7}='$UO_2F_2$';
Legend_U{8}='$UO_2(OH)_4^-2$';
Legend_U{9}='$UO_2(CO_3)_3^-4$';
Legend_U{10}='$UO_2(CO_3)_2^-2$';
Legend_U{11}='$Ca_[(UO_2(CO_3)_3]$';
Legend_U{12}='$Ca[UO_2(CO_3)_3]^-2$';
Legend_U{13}='$UO_2^+2$';
Legend_U{14}='$UO_2SO_4$';
Legend_U{15}='$Mg[UO_2(CO_3)_3]^-2$';
Legend_U{16}='$UO_2F^+$';
Legend_U{17}='$UO_2CO_3$';
%先将你要显示的图例导入元胞数组之中
legend(Legend_U,Interpreter="latex")
%再用legend函数,我这里因为上面是latex格式所以选择了latex解释器
整体效果如下
感觉效果还行 |
---|
第一次写随笔笔记,欢迎大家提建议,如果大家有更好的方法非常欢迎评论区交流,如果可以的话,也可以小小的点个赞😊,毕竟总结不易。