如何删除人口金字塔中的负 X 轴标签?

Posted

技术标签:

【中文标题】如何删除人口金字塔中的负 X 轴标签?【英文标题】:How do I remove negative X axis labels in a population pyramid? 【发布时间】:2019-12-30 10:54:58 【问题描述】:

我有一个人口金字塔,但一侧的 x 轴是负数,有没有办法将负 x 轴重命名为正数?

# Draw Plot
plt.figure(figsize=(13,10), dpi= 80)
group_col = 't1_gender'
order_of_bars = df.agegroup.unique()[::-1]
colors = [plt.cm.Spectral(i/float(len(df[group_col].unique())-1)) for i in range(len(df[group_col].unique()))]

for c, group in zip(colors, df[group_col].unique()):
    sns.barplot(x='count', y='agegroup', data=df.loc[df[group_col]==group, :], order=order_of_bars, color=c, label=group)

# Decorations    
plt.xlabel("Number of calls")
plt.ylabel("Age group")
plt.yticks(fontsize=12)
plt.title("", fontsize=22)
plt.legend()

plt.savefig('images/figure2.png', dpi=300, facecolor=ax.get_facecolor(), transparent=True, pad_inches=0.0)

plt.show()

【问题讨论】:

【参考方案1】:

一种可能的解决方案是使用get_xticks() 获取当前刻度,然后使用np.abs 函数强制刻度标签为正:

xticks = plt.gca().get_xticks().astype(np.int)
plt.xticks(xticks, labels=np.abs(xticks));

(将代码添加到#decoration部分)

【讨论】:

以上是关于如何删除人口金字塔中的负 X 轴标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 seaborn / matplotlib 图中删除或隐藏 x 轴标签

如何删除x轴标签上的组信息

如何使用 Plotly 删除堆叠和分组条形图中的 x 轴刻度标签

删除ggplot中的所有x轴标签[重复]

R语言删除ggplot可视化图中的所有x轴轴标签实战:ggplot可视化默认包含所有x轴轴标签删除ggplot可视化图中的所有x轴轴标签实战

Highcharts 图表删除类别(x 轴)上间隔中的现有刻度