Matplotlib - 设置特定子图的刻度位置
我正在尝试做这样的事情:
vol_grid = MultipleLocator(1000)
fig_vol = plt.subplot2grid((count, count), (i, 0), rowspan=1, colspan=count)
fig_vol.yaxis.set_major_locator(vol_grid)
但是没有任何效果。有什么想法吗?
我的目的是让y轴上的标签相隔1000个单位,也就是说,标签应该是1000、2000、3000等等。
1 个回答
1
你还没有画任何东西,这就是为什么刻度标签不显示的原因(ylim
默认是 (0,1)
,你可以设置 vol_grid = MultipleLocator(0.1)
来查看效果)
from matplotlib.ticker import MultipleLocator
import matplotlib.pyplot as plt
vol_grid = MultipleLocator(1000)
fig_vol = plt.subplot2grid((2, 2), (0, 0), rowspan=1, colspan=2)
fig_vol.yaxis.set_major_locator(vol_grid)
我们可以改变 ylim
的范围,或者直接画一些数据:
fig_vol.set_ylim(1000, 9000)
#plt.plot([1,2,3], [1000, 2000, 5000])