python - matplotlib 中的 bbox_to_anchor 和 loc

标签 python matplotlib

我遇到了 matplotlib 代码,它使用关键字 locbbox_to_anchor 自定义图例位置。例如:

fig.legend([line1, line2], ['series1', 'series2'], bbox_to_anchor=[0.5, 0.5], 
           loc='center', ncol=2)

我已经看到上面的变体,其中 bbox_to_anchorloc 之后使用。

我了解分别使用 bbox_to_anchorloc 的目的。但是,在同一个图例规范中使用两者有什么好处吗?根据我的理解和使用,在我看来,如果指定了 bbox_to_anchor,那么 loc 参数几乎是无关紧要的。

谁能证实这一点?我没有看到任何关于此的文档。

最佳答案

bbox_to_anchorloc一起使用时,loc参数会告知matplotlib应该放置图例边界框的哪一部分在 bbox_to_anchor 的参数处。例如(我稍微简化了命令),下面的三个选项将为您的图例生成不同的位置,

 fig.legend([line1], ['series1'], bbox_to_anchor=[0.5, 0.5], loc='center')
 fig.legend([line1], ['series1'], bbox_to_anchor=[0.5, 0.5], loc='center left')
 fig.legend([line1], ['series1'], bbox_to_anchor=[0.5, 0.5], loc='center right')

第一个命令会将边界框的中心放置在坐标轴坐标 0.5,0.5 处。第二个会将边界框的中心左边缘放在相同的坐标处(即将图例向右移动)。最后,第三个选项会将边界框的中心右边缘放置在坐标处(即将图例向左移动)。

关于python - matplotlib 中的 bbox_to_anchor 和 loc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25068384/

相关文章:

python - 在 python 中使用 scipy 截断正态分布

python - 你能 "cache"matplotlib 图并动态显示它们吗?

python - matplotlib savefig() 绘图不同于 show()

python - 在 matplotlib 中绘制不同颜色的箭头

python - Selenium 脚本在打开新页面时找不到函数

python - 如何取两个网络权重的平均值?

python - 使用 np.tensordot 的矩阵的 Khatri 乘积

python - 如何从powershell的2行输出中获取字符串

python - Pandas 在线绘制条形图

python - IPython自动开启matplotlib交互模式