Python Pylab, как изменить размер метки, определяющей величину осей

Я пытаюсь построить дифференциальные сечения ядерных распадов, и поэтому величины по оси Y примерно 10^-38 (m^2) pylab по умолчанию отображает ось как 0.0,0.2,0.4... и т.д. и имеет '1e-38' в верхней части оси Y.

Мне нужно немного увеличить размер шрифта, я попытался настроить размер этикетки

py.tick_params(axis='y', labelsize=20)

но это только корректирует метки 0.0,0.2,0.4....

Большое спасибо за помощь

1 ответ

Решение

Вы можете получить доступ к текстовому объекту, используя ax.yaxis.get_offset_text(),

import numpy as np
import matplotlib.pyplot as plt

# Generate some data
N = 10
x = np.arange(N)
y = np.array([i*(10**-38) for i in x])

fig, ax = plt.subplots()

# Plot the data
ax.plot(x,y)

# Get the text object
text = ax.yaxis.get_offset_text()

# Set the size.
text.set_size(30) # Overkill!

plt.show()

Я написал решение выше, используя matplotlib.pyplot скорее, чем pylab хотя, если вам абсолютно необходимо использовать pylab тогда это может быть изменено (хотя я бы порекомендовал вам использовать matplotlib.pyplot в любом случае, поскольку они в значительной степени идентичны, вы можете просто сделать намного больше с pyplot Полегче).

редактировать

Если бы вы были использовать pylab тогда код будет:

pylab.plot(x, y)

ax = pylab.gca() # Gets the current axis object

text = ax.yaxis.get_offset_text() # Get the text object

text.set_size(30) # # Set the size.

pylab.show()

Пример графика со смещенным текстом (overkill!).

участок

Другие вопросы по тегам