Python matplotlib savefig:更改字体大小

时间:2018-10-31 13:12:42

标签: python matplotlib

我有一些使用matplotlib绘制的图形,但是当在乳胶文档中使用时,字体大小太小。我尝试使用以下代码更改字体大小:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.transforms
from matplotlib.colors import LogNorm

plt.rcParams['figure.figsize'] = (10.0, 7.0) # set default size of plots
font = {'family' : 'sans',
        'weight' : 'normal',
        'size'   : 40}
matplotlib.rc('font', **font)

#================= Draw histogram =====================
fig, ax = plt.subplots()
ax.hist2d(flow[:, 0], flow[:, 1], bins=400, norm = LogNorm(), cmap='viridis')
for xc in gt_points[:, 0]:
    ax.axvline(x=xc, linestyle=':', c='r')
    print(xc)
ax.axhline(0, linestyle=':', c='r')
ax.set_xlabel('vx [pixels per second]')
ax.set_ylabel('vy [pixels per second]')
ax.set_xlim([k_means_x_min, k_means_x_max])
ax.set_ylim([k_means_y_min, k_means_y_max])
fig.tight_layout()
plt.show()
fig.savefig('histogram.pdf', bbox_inches='tight', transparent=True)

除了更改'size' : 40参数外,其他任何内容都不会更改,并且生成的pdf周围有大量空白,并且一点也不“紧”(请参见图片)。谁能告诉我我在做什么错?

非常感谢!

The resulting pdf

编辑:添加行     matplotlib.rc('xtick',标签大小= 20)     matplotlib.rc('ytick',标签大小= 20) 用于至少使x和y轴上的数字更大。但是,如上所述,matplotlib.rc('font', **font)并没有任何作用...

2 个答案:

答案 0 :(得分:0)

您可以使用以下方法直接更改轴标签:

ax.set_ylabel('vx [pixels per second]', fontsize=40)

答案 1 :(得分:0)

根据文档,此方法有效:

TextView

我猜测问题是Toolbar无法被我的Python识别。