这个问题是关于在matplotlib中用xticks绘图 - Python。
假设我有三个向量:
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 :(得分: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
覆盖标签。
答案 1 :(得分: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]))