|
问题:如何在matlab中对绘制的大量数据曲线加marker时,不是每一个数据点都有marker,同时还能正确显示legend?
matlab似乎在加marker的时候是逐个点加的,这样数据多时,曲线都被marker覆盖;数据少时,marker距离远了,虽然看上去不至于密密麻麻,但曲线又不够光滑了。matlab应该没有提供间隔若干个点加marker的功能。这里只能采用比较麻烦的方法,希望能抛砖引玉。
解决方法1:正常数据下先按LineStyle画曲线(第一幅图),hold on,减少数据再只画marker(第二幅图),hold off 。但legend显示会出现问题。所以还得hold on,再画一个具有相同LineStyle和marker的数据中的一个点(第三幅图),把前两幅图的legend显示属性去掉[1],就能正确显示legend了。
解决方法2:图像编辑软件,复制粘贴legend。但如果希望export成矢量图,那还需要矢量图编辑软件。
希望有更简单的方法能解决该问题。
[1]matlab help->matlab->Graphics->Handle Graphics Objects->Controlling Legends
利用方法1生成的光滑曲线、稀疏marker和legend:
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-1-8 14:40
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社