【问题标题】:Hatch an area in two colors with `pyplot.fill_between`用 `pyplot.fill_between` 用两种颜色孵化一个区域
【发布时间】:2021-08-31 05:25:56
【问题描述】:

我在一些图表之间有一个红色和一个蓝色区域。在两个区域重叠的地方,我希望该区域以红色和蓝色阴影,即红色和蓝色条纹(如图所示,但蓝色和红色而不是白色和红色)。所以我想通过颜色代码将这两种颜色传递给函数。 matplotlib.pyplot.fill_between 可以做到这一点吗?或者我该怎么做?

【问题讨论】:

  • 提供尽可能多的信息,包括一个最小的例子,一个你想要的例子(即使它是在油漆上完成的)。图片和代码描绘了一千个单词。不要说“我希望我的意思很清楚”,只要提供足够的信息,这不是问题
  • 好的,我认为我的描述很清楚,但可能不是。这就是我的意思。我通常知道如何使用fill_between,我只想知道如何告诉它用传递给函数的两种颜色来为图片中填充的区域着色。 (我认为不需要一个最小的例子?)
  • 在您的 fill_between 调用中,您可以添加这些参数 ` facecolor="red", edgecolor="blue", hat=r"//" `。您可以尝试使用不同的颜色进行实验,但您缺少的主要是孵化争论
  • 是的,这就是我想要的,但它看起来更像是在红色之间用细小的蓝色线条填充,而不是像图片中的“一半和一半”,你知道如何改变吗?
  • 能否请您发布您的代码的最小示例,然后我可以提供帮助

标签: python matplotlib plot graph colors


【解决方案1】:

您需要将hatch 参数添加到您对fill_between 的函数调用中

由于您没有提供示例,它看起来像这样:

plt.fill_between(x, a3, a4, color='green',
                 alpha=0.5,hatch=r"//")

根据您对“一半和一半”影线的要求,您需要在脚本顶部放置类似的内容,覆盖影线的默认线宽:

import matplotlib.pyplot as plt    
plt.rc('hatch', color='k', linewidth=5)

根据需要调整线宽。

【讨论】:

    猜你喜欢
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2019-04-26
    • 2013-08-02
    相关资源
    最近更新 更多