【问题标题】:Plot two columns of data with different number of data points绘制具有不同数据点数量的两列数据
【发布时间】:2019-05-13 13:48:37
【问题描述】:

Hi,我有两列数据。它们在同一时间段内,但第一列每 1000 毫秒生成一次数据,第二列每 500 毫秒生成一次数据。我如何将它们绘制在相同长度的相同图表上。 x 轴不必是“时间”。谢谢。

plt.rcParams['figure.figsize'] = [40,20]

x = df['Time']

y1 = df['Engine RPM']
y2 = df['FMS RPM']

plt.plot(x,y1,color='r', label='column1',linewidth=2)
plt.plot(x,y2,color='b', label='column2',linewidth=2)

我可以使用以下代码使两条线看起来相等,但在单独的图表上。

x = np.linspace(0, 100,100)
x2 = np.linspace(0,200,200)

f, ((ax1, ax2)) = plt.subplots(2)

y1 = df['Engine RPM']
y2 = df1['FMS RPM']

ax1.plot(x,y1, label = 'column1') 
ax2.plot(x2,y2, label = 'column2')

【问题讨论】:

  • 您的df['Time'] 是什么样的?更好的是,在这里提供三列的标题。
  • 嗨,它是一个时间戳,像这样 10:35:14
  • 嗨@QuangHoang,返回错误模块'pandas'没有属性'to_dataframe'
  • 我的意思是:pd.to_datetime(df['Time'])。对不起
  • 嗨@QuangHoang,感谢您的回复。这只是产生了相同的图表。

标签: pandas matplotlib graph


【解决方案1】:

试试这个:

x = np.linspace(0, 100,100)
x2 = np.linspace(0,200,200)

f, ax = plt.subplots(1,1)
ax2 = ax1.twiny()

ax.plot(x,y1,color='r', label='column1',linewidth=2)
ax2.plot(x,y2,color='b', label='column2',linewidth=2)

【讨论】:

  • 嗨广,它工作。我只是将 ax1.twiny() 更改为 ax.twiny(),并将 x,y2 更改为 x2,y2。感谢您的帮助。
猜你喜欢
  • 2019-10-19
  • 2018-03-21
  • 1970-01-01
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多