3

我正在尝试绘制核衰变的微分横截面,因此 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....

非常感谢所有帮助

4

1 回答 1

3

您可以使用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()

带有(矫枉过正!)偏移文本的示例图。

阴谋

于 2014-04-30T16:08:40.863 回答