Python matplotlib savefig: изменить размер шрифта - PullRequest
0 голосов
/ 31 октября 2018

У меня есть некоторые цифры, которые я нанес с помощью 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', labelize = 20) matplotlib.rc ('ytick', labelize = 20) работает как минимум для увеличения чисел по осям x и y. Однако, как уже упоминалось, matplotlib.rc('font', **font) ничего не делает ...

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Согласно документации, это работает:

font = {'family' : 'normal',
        'weight' : 'normal',
        'size'   : 22}
matplotlib.rc('font', **font)

Я предполагаю, что проблема была в том, что 'family' : 'sans' не распознается моим питоном.

0 голосов
/ 31 октября 2018

Вы можете изменить метки осей напрямую, используя это:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...