[英]Matplotlib scatter plot dual y-axis
我试图弄清楚如何在 matplotlib 中使用两个不同的 y 轴值创建散点图。 现在我有一个,需要在 y 上添加第二个索引列值。
points1 = plt.scatter(r3_load["TimeUTC"], r3_load["r3_load_MW"],
c=r3_load["r3_load_MW"], s=50, cmap="rainbow", alpha=1) #set style options
plt.rcParams['figure.figsize'] = [20,10]
#plt.colorbar(points)
plt.title("timeUTC vs Load")
#plt.xlim(0, 400)
#plt.ylim(0, 300)
plt.xlabel('timeUTC')
plt.ylabel('Load_MW')
cbar = plt.colorbar(points1)
cbar.set_label('Load')
所以第二个散点集应该是 TimeUTC vs index。 颜色不是主题;)在excel中y轴也是不同的站点,但没关系。
感谢您的帮助! 谢谢,宝琳娜
在评论中的建议之后继续。
matplotlib.pyplot
接口,就像您在原始代码片段中使用.plt
所做的那样matplotlib
的建议方法,尤其是当您需要更多自定义时,例如您的情况。 在您的代码中, ax1
是一个Axes
实例。 在Axes
实例中,您可以使用Axes.plot
和Axes.scatter
方法绘制数据,这与您通过pyplot
界面所做的非常相似。 这意味着,您可以编写Axes.scatter
调用而不是.plot
并使用与原始代码中相同的参数:
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.scatter(r3_load["TimeUTC"], r3_load["r3_load_MW"],
c=r3_load["r3_load_MW"], s=50, cmap="rainbow", alpha=1)
ax2.plot(r3_dda249["TimeUTC"], r3_dda249.index, c='b', linestyle='-')
ax1.set_xlabel('TimeUTC')
ax1.set_ylabel('r3_load_MW', color='g')
ax2.set_ylabel('index', color='b')
plt.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.