我正在尝试使用matplotlib将标签字体中的刻度标签字体更改为Times New Roman.我认为这应该像更改标题和轴标签的字体一样简单,但事实证明它有点棘手.目前,我只是想设置x-tick标签的字体,这是自动编码的日期(这可能是我的问题之一,但我不确定).
当运行下面的相关代码片段时,我得到错误"没有属性'set_fontproperties'的Axessubplot".
ticks_font = matplotlib.font_manager.FontProperties(family='times new roman', style='normal', size=12, weight='normal', stretch='normal')
fig.autofmt_xdate()
ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d')
for label in ax.get_xticklabels():
ax.set_fontproperties(ticks_font)
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏.
谢谢.
更新/编辑:啊,我觉得自己像个蠢货.刚想通了,一旦我意识到这一点就很明显了.在上面的代码片段中,答案是:
label.set_fontproperties(ticks_font)
Run Code Online (Sandbox Code Playgroud)
如果运行脚本,也可以在使用参数列表运行命令之前设置它.如下面摘自我的剧本:
fig_size = [fig_width, fig_height]
tick_size = 9
fontlabel_size = 10.5
params = {
'backend': 'wxAgg',
'lines.markersize' : 2,
'axes.labelsize': fontlabel_size,
'text.fontsize': fontlabel_size,
'legend.fontsize': fontlabel_size,
'xtick.labelsize': tick_size,
'ytick.labelsize': tick_size,
'text.usetex': True,
'figure.figsize': fig_size
}
plt.rcParams.update(params)
Run Code Online (Sandbox Code Playgroud)
或者,如果你想像它那样做,那么运行:
for label in ax.get_xticklabels() :
label.set_fontproperties(ticks_font)
Run Code Online (Sandbox Code Playgroud)
它将获得每个标签,其中包含您可以为其设置的所有文本属性.
| 归档时间: |
|
| 查看次数: |
11336 次 |
| 最近记录: |