Как заставить работать rcParams для всех осей? - PullRequest
0 голосов
/ 05 марта 2020

Я использую rcParams в одном скрипте, чтобы увеличить размер шрифта на рисунке с двойной осью:

import numpy as np
import matplotlib.pyplot as plt

# Create some mock data
t = np.arange(0.01, 10.0, 0.01)
data1 = np.exp(t)
data2 = np.sin(2 * np.pi * t)

fig, ax1 = plt.subplots()

plt.rcParams.update({'axes.titlesize': 'large',
                 'axes.labelsize':'large', 
                 'ytick.labelsize': 'large',
                 'xtick.labelsize': 'large'})

color = 'tab:red'
ax1.set_xlabel('time (s)')
ax1.set_ylabel('exp', color=color)
ax1.plot(t, data1, color=color)
ax1.tick_params(axis='y', labelcolor=color)

ax2 = ax1.twinx()  # instantiate a second axes that shares the same x-axis

color = 'tab:blue'
ax2.set_ylabel('sin', color=color)  # we already handled the x-label with ax1
ax2.plot(t, data2, color=color)
ax2.tick_params(axis='y', labelcolor=color)

plt.show()

Но plt.rcParams работает только для одной оси.

В этом примере это синие метки.

Я хочу увеличить размер всех шрифтов на рисунке.

Есть ли простой способ добиться этого?

example

1 Ответ

1 голос
/ 05 марта 2020

Ваша проблема в том, что вы обновляете rcParams после того, как вы создали левые оси (ax1)

переместите линию plt.rcParams.update(...) до fig, ax1 = plt.subplots()

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