在matplotlib中两个已定义函数之间的区域阴影线

时间:2014-09-17 22:24:05

标签: python matplotlib

我有点困难。我想在下图中黑色数据点所在的区域中阴影(忽略直方图):

enter image description here

这两个功能如下:

纯黑色曲线:

def log_OIII_Hb_OII(log_OII_Hb, eps=0):
    return eps + ((0.11)/(log_OII_Hb - eps -0.92)) + 0.85

线性虚线:

def LINERlog_OIII_Hb_OII(log_OII_Hb, eps=0):
    return 0.95*(log_OII_Hb)-0.4

我熟悉axScatter.fill_between,但我不确定在上述地区遮荫的最佳方法。建议非常受欢迎。我还为这两个函数定义了一些np.linspaces,但我确定可以使用:

np.linspace(-0.5, 2.0).

1 个答案:

答案 0 :(得分:1)

您可以使用fill_between。这是应用于孵化sin(a)cos(a)之间的区域:

enter image description here

代码:

#!/usr/bin/python3

from numpy import *
from matplotlib import pyplot as plt

a = linspace(0, 6.28, 100)

x = sin(a)
y = cos(a)

fig = plt.figure()
ax = fig.add_subplot(111)

ax.plot(a, x, "k-", lw=3)
ax.plot(a, y, "k-", lw=3)

ax.fill_between(a, x, y, hatch = '///')

fig.savefig("mwe.png")