【问题标题】:How to improve spacing of labels on Seaborn axis如何提高 Seaborn 轴上标签的间距
【发布时间】:2017-02-08 01:55:07
【问题描述】:

我下面的代码生成了一个图表,其中 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))

【问题讨论】:

标签: python seaborn


【解决方案1】:

如果你只想显示每隔一年而不是所有年份,你可以使用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()

你会得到:

实际上,标签之间的间距是动态的,我尝试使用plt.show() 运行您的代码,并调整图像窗口的大小,看起来更好。

顺便说一句,也许

ax.set_xticklabels( years, rotation=45 ) 也是一个好办法。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    使用旋转

    ax.set_xticklabels(years, rotation=30)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-25
      • 2015-10-16
      • 2021-12-05
      • 2017-09-22
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 2020-07-12
      相关资源
      最近更新 更多