我下面的代码生成了一张图,其中x轴上的标签被压在一起并且难以阅读。我怎样才能每隔两年而不是全部显示?
import seaborn as sns
import pandas as pd
years = list(range(1996,2017))
count = [2554.9425,2246.3233,1343.7322,973.9502,706.9818,702.0039,725.9288,
598.7818,579.0219,485.8281,474.9578,358.1385,311.4344,226.3332,
161.4288,132.7368,78.1659,39.8121,23.1321,0.2232,0.0015]
df = pd.DataFrame({'year':years, 'count':count})
dot_size = 0.7
ax = sns.pointplot(x="year",y="count", scale = dot_size, data=df)
ax.set(xlabel='Year', ylabel='Amount')
ax.set(ylim=(0, 3000))
Run Code Online (Sandbox Code Playgroud)
如果您只想每隔一年而不是所有年显示一次,则可以使用set_visible方法:
xticks=ax.xaxis.get_major_ticks()
for i in range(len(xticks)):
if i%2==1:
xticks[i].set_visible(False)
plt.show()
Run Code Online (Sandbox Code Playgroud)
您将获得:
实际上,标签之间的间距是动态的,我尝试用运行您的代码plt.show(),并调整图像窗口的大小,看起来更好。
顺便说一句
ax.set_xticklabels( years, rotation=45 )
也是个好方法。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |