这个问题是关于在matplotlib中用xticks - Python绘图。使用交错xticks在Python matplotlib中绘图
可以说我有三个矢量:
X = [1,2,3,4,5]具有相应标签LVEC = [A,B,C,d,E] Y = [1, 2,3,4,5]
我想绘制X,Y,但提供来自LVEC的交错xticks(即,只有a,c,e标签显示在图上)。但是,该图应该包含所有五个数据点。这可能是本地的吗?
这个问题是关于在matplotlib中用xticks - Python绘图。使用交错xticks在Python matplotlib中绘图
可以说我有三个矢量:
X = [1,2,3,4,5]具有相应标签LVEC = [A,B,C,d,E] Y = [1, 2,3,4,5]
我想绘制X,Y,但提供来自LVEC的交错xticks(即,只有a,c,e标签显示在图上)。但是,该图应该包含所有五个数据点。这可能是本地的吗?
如果我理解正确,这应该给你你想要的效果。
fig, ax = plt.subplots()
ax.scatter(X,Y, c='white',edgecolors='None')
for i, txt in enumerate(LVEC):
ax.annotate(txt, (X[i],Y[i]))
这应该工作:
import matplotlib.pylab as pl
X = [ 1,2,3,4,5 ]
LVEC = ['a','b','c','d','e']
Y = [1,2,3,4,5]
pl.figure()
ax=pl.subplot(111) # or pl.gca() or similar
pl.plot(X, Y, '-x')
ax.set_xticks([X[0],X[2],X[4]])
ax.set_xticklabels([LVEC[0],LVEC[2],LVEC[4]])
因此,主要的窍门是先指定标签应与set_xticks
发生的x位置,并与旁边的set_xticklabels
覆盖的标签。