2024-04-29 00:25:57 发布
网友
我想在matplotlib绘图的图例中显示一个Times New Roman字体。 我已将所有其他刻度标签/轴标签/标题更改为Times New Roman,并搜索了文档,但我只能找到如何使用prop更改图例中的字体大小 pyplot.legend()中的参数
prop
pyplot.legend()
谢谢你
当然,在发布之后,我就找到了答案。其他有相同问题的人的解决方案:import matplotlib as mpl mpl.rc('font',family='Times New Roman')
import matplotlib as mpl mpl.rc('font',family='Times New Roman')
给定的.rc解决方案更改了所有绘图的默认字体。
.rc
当您不想更改所有字体,而只想更改此特定图形图例(属于特定axis对象的图例)的字体属性时,可以使用以下解决方案:
axis
L = ax.legend() plt.setp(L.texts, family='Consolas')
这允许您为图例和轴选择不同的字体。当我需要为图例使用单空间字体时,我发现这很有帮助,但对坐标轴没有帮助--允许我创建这样一个整洁的图例:
请注意标题与图例是如何不同的字体-这给了我一个数字对齐,否则很难实现。
我认为这是更好的方法。
import matplotlib.font_manager as fm ## your font directory font_path = '/Users/frhyme/Library/Fonts/BMDOHYEON_otf.otf' ## font_name font_name = fm.FontProperties(fname=font_path).get_name() plt.legend(prop={'family':font_name, 'size':20})
这并没有出现在谷歌的搜索结果中,所以我会把它作为一个答案发布出来。字体的rc参数可用于设置单个默认字体。
其他有相同问题的人的解决方案:
import matplotlib as mpl
mpl.rc('font',family='Times New Roman')
给定的
.rc
解决方案更改了所有绘图的默认字体。当您不想更改所有字体,而只想更改此特定图形图例(属于特定
axis
对象的图例)的字体属性时,可以使用以下解决方案:这允许您为图例和轴选择不同的字体。当我需要为图例使用单空间字体时,我发现这很有帮助,但对坐标轴没有帮助--允许我创建这样一个整洁的图例:
请注意标题与图例是如何不同的字体-这给了我一个数字对齐,否则很难实现。
我认为这是更好的方法。
这并没有出现在谷歌的搜索结果中,所以我会把它作为一个答案发布出来。字体的rc参数可用于设置单个默认字体。
其他有相同问题的人的解决方案:
import matplotlib as mpl
mpl.rc('font',family='Times New Roman')
相关问题 更多 >
编程相关推荐