col*_*ang 45 python matplotlib
import pylab as plt
x = range(1, 7)
y = (220, 300, 300, 290, 320, 315)
def test(axes):
axes.bar(x,y)
axes.set_xticks(x, [i+100 for i in x])
a = plt.subplot(1,2,1)
test(a)
b = plt.subplot(1,2,2)
test(b)
Run Code Online (Sandbox Code Playgroud)
我期待xlabs为101, 102 ...
然而,如果我切换到使用plt.xticks(x, [i+100 for i in x])
并明确重写函数,它的工作原理.
Hoo*_*ked 89
.set_xticks()
在轴上将设置位置set_xticklabels()
并将设置显示的文本.
def test(axes):
axes.bar(x,y)
axes.set_xticks(x)
axes.set_xticklabels([i+100 for i in x])
Run Code Online (Sandbox Code Playgroud)
如果您不想为每个(甚至任何)刻度线添加标签,另一个可能有用的函数是axes.tick_params
.
def test(axes):
axes.tick_params(axis='x',which='minor',direction='out',bottom=True,length=5)
Run Code Online (Sandbox Code Playgroud)
ax.set_xticks
现在接受一个labels
参数来同时设置刻度和标签:
fig, ax = plt.subplots()
ax.bar(x, y)
ax.set_xticks(x, labels=[i + 100 for i in x])
# ^^^^^^
Run Code Online (Sandbox Code Playgroud)
由于更改标签通常需要更改刻度,因此labels
为了方便起见,该参数已添加到所有相关的刻度函数中:
ax.xaxis.set_ticks(..., labels=...)
ax.yaxis.set_ticks(..., labels=...)
ax.set_xticks(..., labels=...)
ax.set_yticks(..., labels=...)
归档时间: |
|
查看次数: |
63968 次 |
最近记录: |