Python pandas绘制折线图如何交换x轴与y轴,实现分支放y轴周数放x轴
折线图x/y轴交换实现方案
你当前使用的代码将Branch列设为索引后直接绘图,pandas绘图默认会把DataFrame索引作为x轴,所有数值列(1-100周数据)作为多条折线的y值,因此和你的需求相反。
仅需对设置索引后的DataFrame做转置即可匹配需求:转置后1-100周数据会成为新的索引作为x轴,Branch(F1/F2/F3/F4)会作为不同折线的分类,y轴展示对应数值。
修改后的代码如下:
data.set_index('Branch').T.plot() plt.show()
如果需要更灵活的样式自定义,也可以用matplotlib原生方式绘图:
import matplotlib.pyplot as plt # 提取周数列作为x轴 x_axis = data.columns.drop('Branch') # 遍历每个Branch绘制对应折线 for branch_val in data['Branch']: y_axis = data[data['Branch'] == branch_val].drop('Branch', axis=1).values.flatten() plt.plot(x_axis, y_axis, label=branch_val) # 展示图例 plt.legend() plt.show()
内容的提问来源于stack exchange,提问作者huettl
相关产品推荐
相关产品推荐

