plt.plot(ages_x, py_dev_y, color = 'green', label = "Python")
plt.plot(ages_x, js_dev_y, color = 'red', label = "JavaScript")
plt.plot(ages_x,average_dev,color='black', linestyle = '--', label="All dev")
plt.fill_between(ages_x, js_dev_y, average_dev, where=(js_dev_y <= average_dev), interpolate=True, alpha = '0.25')
plt.title("Average salary of diff profession")
plt.xlabel("Age")
plt.ylabel("Average salary(USD)")
plt.tight_layout()
plt.legend()
plt.show()
plt.fill_between()有错误
1条答案
按热度按时间hmmo2u0o1#
您提供的代码在概念上似乎正确,可以在
matplotlib
中使用fill_between
。where
参数用于指定填充应该出现的条件。然而,有几个潜在的问题:
1.确保
ages_x
、py_dev_y
、js_dev_y
和average_dev
都是相同长度的列表或数组。如果它们不是,则在绘制或填充时会遇到问题。alpha
参数应该是一个介于0(完全透明)和1(完全不透明)之间的浮点数。在你的代码中,你已经把它作为字符串'0.25'
传递了。它应该是alpha=0.25
(不带引号)。下面是我定义的数据的代码的更正版本:
如果在进行此更改后,您仍然面临错误,请提供您看到的确切错误消息,并且了解您正在使用的Python和matplotlib的版本会很有帮助。