编辑:我已经重写了这个问题,因为它不像它应该一样清楚。 我有两个数据集(df3和df4分别持有总头和效率的信息)与一个共同的自变量(流量)。 我正在寻找他们在同一个图中,但因变量有不同的Y轴。我最初使用lmplot来实现多项式阶次功能,但是这两个图都出现在一个窗口中是不成功的。我希望将我的散点图和回归图组合成一个显示数据集之间重叠的图。通过Seaborn双绘图X轴
我用以下方法来生成我的图表:
ax2.scatter(df3['Flow_Rate_(KG/S)'], df2['Efficiency_%'], color='pink')
ax2.scatter(df4['Flow_Rate_(KG/S)'], df4['Total Head'], color='teal')
plt.show()
它之所以重要的是要相互绘制的是,监控泵性能的线,我们需要有两个总扬程(M)和效率%来了解泵的性能关系和后续降级情况。
我能想到的唯一的另一种方式是将多项式函数写成方程式,将其放入绘图函数中的参数中并将它们拉出来。我还没有尝试过这个,但是在我走下这条路之前,我想问问是否还有其他选择。
谢谢你的时间。
SOLUTION:对于那些有兴趣,我使用的.twinx()与如下regplot库。
fig, ax = plt.subplots()
ax2 = ax.twinx() #This allows the common axes (flow rate) to be shared
sbn.regplot(x="Flow_Rate_(KG/S)", y="Total Head", data=df3, order=2, ax=ax)
sbn.regplot(x="Flow_Rate_(KG/S)", y="Efficiency_%", data=df4, order=2,
ax=ax2)
ax2.set_ylim(0,1)#This is used to set the limit for efficiency. Without this being set, the curves do not line up.
@ImportanceOfBeingErnest - 你是说有可能得到两个多项式我seaborn创建,在一个阴谋?我只是想知道除了我提出的建议之外是否还有其他选择。否则,我会尝试方程式。唯一的问题是解决方案需要一个固定的方程,但实际上,方程可能会改变。 – azurekirby
@ImportanceOfBeingErnest - 感谢您提供有关如何改善我的问题的提示。我已经正式编辑它。我希望它能让我更清楚一点:)。 – azurekirby
@ImportanceOfBeingErnest - 我已经尝试过您提供的方法,但由于某种原因,我的轴似乎无法识别'效率'y轴,但只能识别总头部。你会知道为什么会这样吗? – azurekirby