相关疑难解决方法(0)

如何将传说从情节中删除

我有一系列20个图(不是子图)可以在一个图中制作.我希望传说能够在盒子之外.同时,我不想改变轴,因为图形的大小减少了.请帮助我以下查询:

  1. 我想将情节框保留在情节区域之外.(我希望传说位于情节区域的右侧).
  2. 无论如何,我减少了图例框内文本的字体大小,因此图例框的大小会很小.

python matplotlib legend

866
推荐指数
15
解决办法
68万
查看次数

在轴外移动matplotlib图例会使其被图框切断

我熟悉以下问题:

Matplotlib savefig与情节外的传奇

如何将传说从情节中删除

看起来这些问题的答案很有可能摆脱轴的精确收缩,以便传说适合.

然而,收缩轴并不是一个理想的解决方案,因为它使数据变得更小,使得它实际上更难以解释; 特别是当它的复杂和有很多事情发生时...因此需要一个大的传奇

文档中复杂图例的示例演示了对此的需求,因为其图中的图例实际上完全遮盖了多个数据点.

http://matplotlib.sourceforge.net/users/legend_guide.html#legend-of-complex-plots

我希望能够做的是动态扩展图框的大小以适应不断扩大的图形图例.

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-2*np.pi, 2*np.pi, 0.1)
fig = plt.figure(1)
ax = fig.add_subplot(111)
ax.plot(x, np.sin(x), label='Sine')
ax.plot(x, np.cos(x), label='Cosine')
ax.plot(x, np.arctan(x), label='Inverse tan')
lgd = ax.legend(loc=9, bbox_to_anchor=(0.5,0))
ax.grid('on')
Run Code Online (Sandbox Code Playgroud)

请注意最终标签"逆棕褐色"实际上是如何在图框之外(看起来严重截止 - 而不是出版质量!) 在此输入图像描述

最后,我被告知这是R和LaTeX中的正常行为,所以我有点困惑为什么在python中这么难...有历史原因吗?Matlab在这件事上同样很差吗?

我在pastebin http://pastebin.com/grVjc007上有这个代码的(仅略微)更长版本

python matplotlib legend

205
推荐指数
3
解决办法
13万
查看次数

'bbox_to_anchor'的4元素元组参数在matplotlib中的含义是什么?

在matplotlib网站的"图例指南" 的"图例位置"部分中,有一个小脚本,其中第9行是plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3, ncol=2, mode="expand", borderaxespad=0.).我见过的所有元组bbox_to_anchor都有2个元素,但是这个元素有4个.如果元组通过有4个元素,每个元素意味着什么?

我在pyplot.legend 文档中看到它,它说了一些关于bbox_transform坐标的东西.所以我环顾四周,发现matplotlib.transforms.Bbox了一个static from_bounds(x0, y0, width, height).

我猜测4元组参数的设置基于此from_bounds.我将脚本复制到Spyder,%matplotlib在Ipython控制台中完成,并更改了一些值.这似乎是有道理的,但当我尝试只改变.102类似的东西时0.9,传说并没有改变.我认为元组是基于的from_bounds,我只是不知道为什么改变元组中的最后一个值什么也没做.

python matplotlib

24
推荐指数
2
解决办法
6908
查看次数

标签 统计

matplotlib ×3

python ×3

legend ×2