使用fill_between作为乐队

时间:2013-07-19 18:34:49

标签: python matplotlib

我一直在使用fill_between填充两条红线,如图所示。我一直在使用this example(从底部开始的第3位数字)。

但是,就我而言,我有一个y值的两个x值。我几乎得到了它,但不明白这里出了什么问题:

ax = plt.subplot(111)
plt.ylim(0.1, 1.2)
plt.xlim(0.03, 5.0)
ax.fill_between(inner_edge, outer_edge, mass, facecolor='b')
plt.loglog(inner_edge, mass, 'r-')
plt.loglog(outer_edge, mass, 'r-')

为什么程序只是其中的一部分。什么是扭曲?

enter image description here

1 个答案:

答案 0 :(得分:3)

使用fill_betweenx代替

ax.fill_betweenx(mass, inner_edge, outer_edge, facecolor='b')

示例:

import matplotlib.pyplot as plt
import numpy as np

inner_edge = np.linspace(0.1, 5.0, 10)
outer_edge = inner_edge * 0.3
mass = np.linspace(0.1, 1.2, 10)

ax = plt.subplot(111)
plt.ylim(0.1, 1.2)
plt.xlim(0.03, 5.0)

ax.fill_betweenx(mass, inner_edge, outer_edge, facecolor='b')

plt.loglog(inner_edge, mass, 'r-')
plt.loglog(outer_edge, mass, 'r-')

plt.show()

enter image description here