绘制PUMS家庭语言大数据集图表时,如何交换X/Y轴?
解决方法
1. 先统计数据频次再绘图(推荐)
要展示数据唯一值的分布,直接绘制原始列会默认用索引作为X轴,因此先对目标列做频次统计:
# 假设你的DataFrame名为df,目标列是'language' value_counts = df['language'].value_counts() # 绘制柱状图,X轴为数据唯一值,Y轴为对应频次 value_counts.plot(kind='bar') # 若要横向展示(等效交换XY轴),用barh: # value_counts.plot(kind='barh')
2. 直接交换已绘制图表的XY轴
如果已经完成绘图,可通过matplotlib的轴方法直接交换:
import matplotlib.pyplot as plt # 获取当前图表的轴对象 ax = plt.gca() # 交换X、Y轴 ax.swapaxes('x', 'y') plt.show()
用Seaborn的快捷实现
使用Seaborn的countplot可以直接指定轴对应的列:
import seaborn as sns # X轴为数据唯一值,Y轴为频次 sns.countplot(data=df, x='language') # 横向展示(交换XY轴效果) # sns.countplot(data=df, y='language')
内容的提问来源于stack exchange,提问作者Ibrahim Alkhateeb
相关产品推荐
相关产品推荐

