【发布时间】:2022-01-14 19:30:40
【问题描述】:
我的最终目标是创建一个图表,该图表可以快速传达两个数据点位于各自的界限之间。我可以创建两个单独的图表,而不是将这些信息放在一个图表上;图表数据并用水平线说明边界。如果我可以让这个基本功能用一张图来完成,那就更优雅了。
有什么方法可以用来同步两个y-axes,以便y-axis 1 上的某个值A1 和y-axis 2 上的A2 垂直出现在图表中的同一位置,而在同时,确保y-axis 1 上的另一个特定值B1 和y-axis 2 上的B2 出现在图表中垂直的单独不同位置?
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import datetime
### Generate linear data
Temp = 20
pH = 6
DataCopy = pd.DataFrame({'Temp': [], 'pH': [], 'Time': []})
for i in range(10):
DataTime = datetime.datetime.now()
DataCopy = DataCopy.append({'Temp': Temp, 'pH': pH, 'Time': DataTime}, ignore_index=True)
Temp += (-0.5)
pH += (0.2)
### Plot data unto graph w/ double y-axis
sns.lineplot(data=DataCopy, x='Time', y='pH', color = 'red', label = 'Temp')
ax2 = plt.twinx()
sns.lineplot(data=DataCopy, x='Time', y='Temp', color = 'blue', label = 'pH', ax=ax2)
plt.legend()
plt.show()
如果在单独的图表上完成此实现的外观:
想要的效果:
【问题讨论】:
标签: python matplotlib seaborn