2017-05-17 38 views
0

这个问题是关于在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标签显示在图上)。但是,该图应该包含所有五个数据点。这可能是本地的吗?

回答

0

如果我理解正确,这应该给你你想要的效果。

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])) 
1

这应该工作:

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覆盖的标签。