开发者社区> 问答> 正文

如何填充图中y轴附近的区域?

我需要绘制数据帧的两个特征,其中df ['DEPTH']应该反转,并且在y轴,而df ['SPECIES']应该在x轴。假设该图是一条变线,我想用颜色填充y轴(线的左侧)附近的区域。所以我写了一些代码:

df = pd.DataFrame({'DEPTH': [100, 150, 200, 250, 300, 350, 400, 450, 500, 550],
               'SPECIES':[12, 8, 9, 6, 10, 7, 4, 3, 1, 2]})

plt.plot(df['SPECIES'], df['DEPTH'])
plt.fill_between(df['SPECIES'], df['DEPTH'])

plt.ylabel('DEPTH')
plt.xlabel('SPECIES')

plt.ylim(np.max(df['DEPTH']), np.min(df['DEPTH']))

我尝试了'plt.fill_between',但是情节的左侧部分并没有全部填满。

谁知道填充的部分(蓝色)如何到达y轴?

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 00:07:38 371 0
1 条回答
写回答
取消 提交回答
  • 代替fill_between,可以使用fill_betweenx。默认情况下,它将从0开始填充,因此您也需要将x限制也设置为0。

    plt.plot(df['SPECIES'], df['DEPTH'])
    # changing fill_between to fill_betweenx -- the order also changes
    plt.fill_betweenx(df['DEPTH'], df['SPECIES'])
    
    plt.ylabel('DEPTH')
    plt.xlabel('SPECIES')
    
    plt.ylim(np.max(df['DEPTH']), np.min(df['DEPTH']))
    # setting the lower limit to 0 for the filled area to reach y axis.
    plt.xlim(0,np.max(df['SPECIES']))
    
    plt.show()
    

    结果如下。

    回答来源:stackoverflow

    2020-03-24 00:07:45
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载