【问题标题】:plot background lines in matplotlib在 matplotlib 中绘制背景线
【发布时间】:2020-08-06 12:18:13
【问题描述】:

我想从 pandas 数据框中绘制折线图,​​但如下图所示,我的目标是在图表的背景中绘制不同的颜色。

这是我绘制折线图的方式。

ax = df.plot(kind='line')
plt.legend(ncol=6, bbox_to_anchor=(1.04,1))
plt.savefig("output.png", bbox_inches="tight")
plt.show()

【问题讨论】:

    标签: python python-3.x pandas matplotlib


    【解决方案1】:

    您可以使用axhspan 和/或axvspan

    这是一个小例子,可能对你有所帮助

        import matplotlib.pyplot as plt
    
        plt.figure()
        plt.xlim(0, 5)
        plt.ylim(0, 5)
        
        for i in range(0, 5):
            plt.axhspan(i, i+.2, facecolor='0.2', alpha=0.5)
            plt.axvspan(i, i+.5, facecolor='b', alpha=0.5)
        
        plt.show()
    

    【讨论】:

      【解决方案2】:

      你也可以使用fill_between()

      plt.figure()
      x = range(10)
      c = ['red', 'blue', 'green', 'yellow', 'teal']
      y = [0, 3, 6, 9, 12, 15]
      for i in range(5):
          plt.fill_between(x, y1 = y[i+1], y2 = y[i], facecolor = c[i], alpha = 0.2)
      

      【讨论】:

      • 我使用了 fill_between 但它只在特定区域而不是整个图表后面给出条形图,请参阅imgur.com/8RAjXh7
      • fill_between 函数填充曲线 y1 和 y2 之间的区域。考虑检查 y 值并确保 facecolor 不是白色
      猜你喜欢
      • 2016-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 2013-08-03
      • 1970-01-01
      • 2014-01-13
      相关资源
      最近更新 更多