python图例大小_在matplotlib中移动图例框并调整其大小

我正在使用Matplotlib创建绘图,我将其保存为SVG,使用Inkscape导出为.pdf+.pdf_-tex,并将.pdf_-tex文件包含在乳胶文档中。

这意味着我可以在标题、图例等中输入LaTeX命令,给出这样的图像

当我在我的乳胶文档中使用它时,它会像这样呈现。请注意,轴上数字的字体会更改,图例中的乳胶代码也会编译:

绘图代码(如何导出到SVG此处未显示,但可根据要求显示):import numpy as np

x = np.linspace(0,1,100)

y = x**2

import matplotlib.pyplot as plt

plt.plot(x, y, label = '{\\footnotesize \$y = x^2\$}')

plt.legend(loc = 'best')

plt.show()

问题是,如您所见,图例周围的框的对齐方式和大小是错误的。这是因为当图像通过Inkscape+pdflatex时,标签文本的大小会改变(因为\footnotesize等消失,字体大小也会改变)。

我想我可以选择标签的位置plt.label(loc = 'upper right')

或者如果我想要更多的控制plt.label(bbox_to_anchor = [0.5, 0.2])

但我还没找到办法把标签周围的盒子变小。这可能吗?

使盒子变小的另一种方法是使用类似于legend = plt.legend()

legend.get_frame().set_edgecolor('1.0')

然后把标签移到我想要的地方。在这种情况下,我希望首先让python/matplotlib使用plt.label(loc = 'upper right')

然后再把它移到右边。这可能吗?我试过使用get_bbox_to_anchor()和set_bbox_to_anchor(),但似乎无法使其工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值