公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
2.5k 浏览

绘制自制图例时遇到两个问题:

1)无法按照实际坐标放置 图例,代码中是按照比例坐标放置的。

2)右半部分图例无法显示(也就是再不增加PlotRange范围的情况下,自动填充空白区域把剩余的图例显示出来)

Needs["PlotLegends`"]
legend1 = 
  Graphics@Legend[{{Graphics[{Red, Disk[{0, 0}, 1]}], 
      Sin[x] < 0}, {Graphics[{Black, Thick, Line[{{0, 0}, {2, 0}}]}], 
      "线段"}}];
Plot[{Sin[x], Cos[x]}, {x, 0, 2 \[Pi]}, PlotStyle -> Black, 
 Filling -> {1 -> {Axis, Directive[Opacity[0.5], Red]}, 
   2 -> {Axis, Directive[Opacity[0.5], Blue]}}, 
 PlotLegends -> Placed[legend1, {Scaled@{0.6, 0.2}, {0, 0}}]]

​​​​​​​

分类:绘图 | 用户: 包子 (36 分)
把你的图拉大一点就可以显示完整了

1个回答

+1 投票
 
已采纳

还在用mma9.0啊,更新一下软件吧。

1)Placed 设置的相对位置。用 Inset 可以设置实际位置,一般这个放在 Epilog 中

2)把图例向左边挪一点就行了呗,比如把水平位置改成0.5:PlotLegends -> Placed[legend1, {{0.5, 0.2}, {0, 0}}]

另外,在新版的软件,绘制图例要比这简单一点儿。比如:

Plot[{Sin[x], Cos[x]}, {x, 0, 2 \[Pi]}, 
 PlotLegends -> 
  LineLegend["Expressions", LegendLabel -> "label", 
   LegendFunction -> (Framed[#, RoundingRadius -> 5] &), 
   LegendMargins -> 5]]

 

用户: 野鹤 (5.1k 分)
采纳于 用户:包子
这并没有解决我的问题,我想要的是 图例一部分在绘制图像内 因为有些图像右上方没有图形,所以要占用一些位置放置图例
那还是用 Inset 自己设计一个图例,然后用 Epilog  放在图上吧。
...