如何在pandas DataFrame的绘图结果中添加水平直线?
实现方案
pandas内置的绘图功能基于matplotlib封装,调用plot()方法后会返回matplotlib的坐标轴(Axes)对象,你可以直接调用该对象的axhline方法绘制指定位置的水平直线。
你可以直接修改代码为以下形式:
import matplotlib.pyplot as plt # 绘制原本的均值时序曲线,同时获取坐标轴对象 ax = df.mean(axis=1).plot() # 在y=0位置绘制水平基准线 ax.axhline( y=0, color='red', # 可自定义线条颜色,比如改为'gray'更低调 linestyle='--', # 可自定义线条样式,'-'为实线,':'为点线 linewidth=1 # 可自定义线条粗细 ) # 如果需要给水平直线加图例,补充label参数即可: # ax.axhline(y=0, color='gray', linestyle='-', label='零线') # ax.legend() plt.show()
如果你希望简化写法,也可以直接链式调用实现:df.mean(axis=1).plot().axhline(y=0)
你当前生成的原始时序图效果如下:
内容的提问来源于stack exchange,提问作者Gal
相关产品推荐
相关产品推荐

