level 12
Legend比较多,mathematica中默认纵向排列,如何将Legend分成两列?
2016年07月15日 03点07分
1
level 9
LegendLayout -> {"Row", n}
或
LegendLayout -> {"Column", n}
n为行数或列数
2016年07月16日 14点07分
5
好的,谢谢啦!我试试
2016年07月17日 01点07分
如何调整legend中线型与字之间的间距?(如我发起的提问)
2016年07月19日 08点07分
这个不错!
2016年07月23日 07点07分
level 1
主要是这些选项要联合使用才有效,一个嵌套一个,语法还得注意。
Plot[Evaluate@Table[Log[n x], {n, 1, 5}], {x, 0, 6},
PlotLegends ->
Placed[LineLegend["Expressions", LegendLayout -> {"Column", 3}],
Bottom]]
2016年07月17日 09点07分
6
如何调整legend中线型与字之间的间距?(如我发起的提问)
2016年07月19日 08点07分
@翘楚是你吗☜ 无法做到。MATLAB可以调节图标大小、文字大小、图标文字间距等。后者结合了面向对象特性,任何对象都有句柄可控制相应属性,修改 方式是通用的,采用属性名+属性值的方式。MMA是函数式,依靠一个个函数修改属性,格式多变,难以记忆规律。
2016年07月19日 13点07分
@翘楚是你吗☜ MMA的设计理念是,把所有的实现细节都为用户处理好,只把功能用函数形式封装提供给用户,便于用户专注于更高层次的内容,而非这些繁琐细微末节的东西。文字与图例之间的间隔MMA是设置好了最小间距的,随着字体放大而加大。所呈现的都是自动处理好最美观的形式,无需用户操心。
2016年07月19日 13点07分
level 9
还真没想过7楼这个问题。
临时手动写一个例子,应该还有更好的方法吧。
Manipulate[
Plot[#, {x, 0, 2},
PlotLegends ->
LineLegend[
Framed[#, FrameMargins -> {{n, 0}, {0, 0}},
FrameStyle -> Opacity[0]] & /@ #,
LegendMarkerSize -> 30]] &@{x, 2 x, 3 x}, {n, 0, 40}]
2016年07月19日 09点07分
8
我觉得mathematica已经提供足够的自由度了
2016年07月23日 06点07分
用LineLegend 然后只需加选项 LegendLayout->(Framed@TableForm[#,TableSpacing->{1,1}]&)即可 间隔数字自己调节
2016年07月23日 06点07分
@qsraaaa520 解决这类问题一般情况肯定都有n多种方法。经常接触的话实现起来应该还是比较简单的。
2016年07月23日 07点07分