查看: 156|回复: 4|关注: 0

[已答复] 曲线和点能否共用一个legend?

[复制链接]

新手

5 麦片

财富积分


050


2

主题

3

帖子

0

最佳答案
发表于 2020-1-10 02:50:24 | 显示全部楼层 |阅读模式
如图,曲线和点是共用一个标签的,如何实现呢?感谢! H$HVGBQYWYFTTXJDPUFDQ3A.png

新手

6 麦片

财富积分


050


16

主题

72

帖子

0

最佳答案
发表于 2020-1-10 16:30:46 | 显示全部楼层
数据量不大,gtext

MATLAB 基础讨论
版块优秀回答者

入门

87 麦片

财富积分


50500


1

主题

60

帖子

15

最佳答案
  • 关注者: 4
发表于 2020-1-10 16:39:33 | 显示全部楼层
本帖最后由 gopher 于 2020-1-10 16:55 编辑

非常有意思的一个问题!

图中标记(marker)显示在线型(LineStyle)的右边,matlab 似乎比较难实现。(个人认为,matlab 中 legend 的线型都是把标记位于线中心,没有调整标记的选项)

折中的方法,可以将标记显示在线型中心。
Marker and Line in legend in matlab plot

上面这个链接给出了一种讨巧的方法,我修改后结果如下:
  1. theta = 0 : 0.01*pi : 2*pi;
  2. x = 2*cos(theta);
  3. y = 3*sin(theta);
  4. x1 = 0; y1 = 0;
  5. x2 = 1; y2 = 0;

  6. figure;
  7. plot(x,y,'b--', x1,y1, 'b^');
  8. hold on;
  9. plot(y+x2,x+y2,'r', x2,y2, 'rd');

  10. p1 = plot(nan, nan, 'b--^');
  11. p2 = plot(nan, nan, 'r-d');
  12. legend([p1,p2], {'Blue','Red'})
复制代码


0.png

新手

5 麦片

财富积分


050


2

主题

3

帖子

0

最佳答案
 楼主| 发表于 2020-1-11 12:06:37 | 显示全部楼层
gopher 发表于 2020-1-10 16:39
非常有意思的一个问题!

图中标记(marker)显示在线型(LineStyle)的右边,matlab 似乎比较难实现。(个 ...

谢谢您!这样效果也还不错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表