我一直在使用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-')
为什么程序只是其中的一部分。什么是扭曲?
答案 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()