Matplotlib 散点图双 y 轴
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 与索引。颜色不是主题;)同样在 excel 中,y 轴是不同的位置,但没关系。
感谢您的帮助!谢谢,宝琳娜
根据评论中的建议继续。
有two ways of using matplotlib
.
- 通过
matplotlib.pyplot
界面,就像您在 .plt
的原始代码片段中所做的那样
- object-oriented 方式。这是使用
matplotlib
的建议方法,尤其是当您需要像您的情况一样进行更多自定义时。在您的代码中,ax1
是 Axes
instance.
从 Axes
实例中,您可以使用 Axes.plot
and 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()
我试图找出如何在 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 与索引。颜色不是主题;)同样在 excel 中,y 轴是不同的位置,但没关系。
感谢您的帮助!谢谢,宝琳娜
根据评论中的建议继续。
有two ways of using matplotlib
.
- 通过
matplotlib.pyplot
界面,就像您在.plt
的原始代码片段中所做的那样
- object-oriented 方式。这是使用
matplotlib
的建议方法,尤其是当您需要像您的情况一样进行更多自定义时。在您的代码中,ax1
是Axes
instance.
从 Axes
实例中,您可以使用 Axes.plot
and 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()