一个图中的多个带有Y轴的海洋图

发布于 2025-01-20 07:57:58 字数 1656 浏览 0 评论 0原文

您好Stackoverflow社区

我是一个新来者,并且有以下代码:

fig, axs = plt.subplots(2, 2, figsize=(20,20), dpi=(100))

axs[0,0].set_title('2017, Zeitreihe, Zähler: ' + Zaehler)
sns.lineplot(data= data_heatmap_2017, x='date_time', y= 'Leistung:', linewidth=0.1, ax=axs[0,0])
sns.lineplot(data= data_heatmap_2017, x='date_time', y= 'tre200h0_2017', linewidth=0.1, color='orange', ax=axs[0,0].twinx())
axs[0,0].xaxis.set_major_locator(ticker.MultipleLocator(1000))
axs[0,0].tick_params(axis='x', labelrotation=90)
axs[0,0].set_ylabel('Leistung [kW]')
axs[0,0].set_ylim([min_Power, max_Power])
axs[0,0].twinx().set_ylabel('Aussentemperatur [°C]')
axs[0,0].twinx().set_ylim([-15, 35])


axs[0,1].set_title('2018,  Zeitreihe, Zähler: ' + Zaehler)
sns.lineplot(data= data_heatmap_2018, x='date_time', y= 'Leistung:', linewidth=0.1, ax=axs[0,1])
sns.lineplot(data= data_heatmap_2018, x='date_time', y= 'tre200h0_2018', linewidth=0.1, color='orange', ax=axs[0,1].twinx())
axs[0,1].xaxis.set_major_locator(ticker.MultipleLocator(1000))
axs[0,1].tick_params(axis='x', labelrotation=90)
axs[0,1].set_ylabel('Leistung [kW]')
axs[0,1].set_ylim([min_Power, max_Power])
axs[0,1].twinx().set_ylabel('Aussentemperatur [°C]')
axs[0,1].twinx().set_ylim([-15, 35])

# a lot more plots will come here

如您在图片中看到的次要Y轴给我一个困难的时光:每个子图的次要Y轴应以“ Aussentemperatur”允许。此外,为了更好地比较次级Y轴的尺度应具有相同的范围(-15最高35)。 我将.twinx()。SET_YLABEL('Aussentemperatur [°C]')进行标记和.twinx()。Set_ylim([ - 15,35])进行缩放。 Twinx()。似乎无法正常工作,输出只是某种程度上的覆盖... 知道如何解决这个问题并获得-15至35的清晰轴?

图片secondary y-axis

hello stackoverflow community

I'm a newcomer and have the following code:

fig, axs = plt.subplots(2, 2, figsize=(20,20), dpi=(100))

axs[0,0].set_title('2017, Zeitreihe, Zähler: ' + Zaehler)
sns.lineplot(data= data_heatmap_2017, x='date_time', y= 'Leistung:', linewidth=0.1, ax=axs[0,0])
sns.lineplot(data= data_heatmap_2017, x='date_time', y= 'tre200h0_2017', linewidth=0.1, color='orange', ax=axs[0,0].twinx())
axs[0,0].xaxis.set_major_locator(ticker.MultipleLocator(1000))
axs[0,0].tick_params(axis='x', labelrotation=90)
axs[0,0].set_ylabel('Leistung [kW]')
axs[0,0].set_ylim([min_Power, max_Power])
axs[0,0].twinx().set_ylabel('Aussentemperatur [°C]')
axs[0,0].twinx().set_ylim([-15, 35])


axs[0,1].set_title('2018,  Zeitreihe, Zähler: ' + Zaehler)
sns.lineplot(data= data_heatmap_2018, x='date_time', y= 'Leistung:', linewidth=0.1, ax=axs[0,1])
sns.lineplot(data= data_heatmap_2018, x='date_time', y= 'tre200h0_2018', linewidth=0.1, color='orange', ax=axs[0,1].twinx())
axs[0,1].xaxis.set_major_locator(ticker.MultipleLocator(1000))
axs[0,1].tick_params(axis='x', labelrotation=90)
axs[0,1].set_ylabel('Leistung [kW]')
axs[0,1].set_ylim([min_Power, max_Power])
axs[0,1].twinx().set_ylabel('Aussentemperatur [°C]')
axs[0,1].twinx().set_ylim([-15, 35])

# a lot more plots will come here

As you can see in the picture the secondary y-axis give me a hard time: The secondary y-axis of each subplot should be labled with "Aussentemperatur". Furthermore for better comparision the scale of the secondary y-axis should have the same range (-15 up to 35).
I used .twinx().set_ylabel('Aussentemperatur [°C]') for labeling and .twinx().set_ylim([-15, 35]) for scaling. twinx(). seems not to work appropriate, the output is just a somehow overlay...
Any idea how to solves this and get a clear axis from -15 to 35?

Picture Secondary y-axis

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文