绘制pandas DataFrame行时如何将x轴列名替换为列序号展示
你遇到的问题是因为从DataFrame提取的单行数据是Series结构,它的索引默认继承自DataFrame的列名,也就是重复的Metric Value,所以绘图时x轴会显示这些重复列名。可以通过两种方式实现自定义列序号为x轴刻度的需求:
方法1:修改待绘制Series的索引后绘图
pandas调用Series.plot()时,默认会将Series的索引值作为x轴刻度,因此你可以直接将提取的第0行的索引替换为1开头的列序号:
row = df.iloc[0].astype(int) # 将索引替换为1~列数的连续序号,自适应列数不需要硬编码 row.index = range(1, len(row) + 1) row.plot() plt.show()
方法2:绘图后手动修改x轴刻度
如果你不想修改原始Series的索引,也可以在绘图后通过plt.xticks自定义刻度标签:
row = df.iloc[0].astype(int) row.plot() # ticks参数对应原刻度的位置,labels参数对应要显示的序号 plt.xticks(ticks=range(len(row)), labels=range(1, len(row) + 1)) plt.show()
内容的提问来源于stack exchange,提问作者mahmood
相关产品推荐
相关产品推荐

