如何使用Python绘制一个带有两个y轴(x、y1和y2)的散点图

3

我希望制作一个散点图,可以在上面拥有两个y轴(y1轴为右侧的产量(公斤/公顷),y2轴为左侧的面积(公顷)),并在年份x轴上显示“趋势线”。谢谢提前。

crops1 = pd.DataFrame({"x1": crops['Years'],
               "y1_1": crops['Area_ha'], 
               "y1_2": crops['Yield_kg']})

crops2 = pd.DataFrame({"x2": crops['Years'],
               "y2_1": crops['Area_ha'], 
               "y2_2": crops['Yield_kg']})
#plt.scatter(x,y)

fig, ax1 = plt.scatter(x1,y1)
ax2=ax1.twinx()



crops1.scatter(x="x1", y= ["y1_1"], ax=ax1, legend=False)
crops1.scatter(x="x1", y="y1_2", ax=ax2, legend=False, color="r")
crops2.scatter(x="x2", y="y2_1", ax=ax1, legend=False)
crops2.scatter(x="x2", y="y2_2", ax=ax2, legend=False, color="r")
2个回答

2
import matplotlib.pyplot as plt

fig, ax1 = plt.subplots()

ax2 = ax1.twinx()
ax1.scatter(x, y1, color='g')
ax2.scatter(x, y2, color='b')

ax1.set_xlabel('X data')
ax1.set_ylabel('Y1 data', color='g')
ax2.set_ylabel('Y2 data', color='b')

plt.show()

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接