为数据绘制具有不同 y 轴的图表

Plotly graph having like different y axis for data

这是我的第一个 post,到目前为止我还没有找到(据我搜索)。 因此,我正在尝试构建一个带有 streamlit 的仪表板以及我正在使用的绘图。我按照示例将 'DateTime' 作为 X 轴和两个不同的列以使用相同的 Y 轴制作 2 条线。

但我的问题是在图表中它们似乎有不同的 Y 轴而不是相同的。在我尝试过的例子中,我没有得到相同的行为,我尝试了不同的方法来解决这个问题,但它仍然是一样的。请问有没有人和我有同样的错误或者有解决办法

我试过使用这个数据:

print(df)
DateTime   value_num1   value_num2

18:12:17     84.4937    84.49000

18:12:05     84.5038    84.47000

18:11:59     84.5247    84.49000

18:11:52     84.5386    84.52000

18:11:42      84.552    84.51000
df2 = df.sort_values(by="DateTime")

Ex1:

fig = px.line(df2, x='DateTime', y=['value_num1', 'value_num2'])

Ex2:

fig = px.line(df2, x='DateTime', y='value_num1')
fig.add_scatter(x=df2['DateTime'], y=df2['value_num2'])

我也尝试过使用 melt:

dfm = df2.melt('DateTime', var_name='cols', value_name='vals')
DateTime         cols      vals

18:11:42  value_num1     84.552

18:11:52  value_num1    84.5386

18:11:59  value_num1    84.5247

18:12:05  value_num1    84.5038

18:12:17  value_num1    84.4937

18:11:42  value_num2   84.51000

18:11:52  value_num2   84.52000

18:11:59  value_num2   84.49000

18:12:05  value_num2   84.47000

18:12:17  value_num2   84.49000
fig = px.line(dfm, x='DateTime', y='vals', color='cols')

但是结果一样。有人可以让我知道我做错了什么,或者是否有另一种方法可以使用 streamlit 放置“正常”图?我尝试了 matplotlib,但似乎无法将图像用于 streamlit。

剧情是这样的。 enter image description here

感谢您的宝贵时间。

将时间转换为日期时间格式。

示例代码

import pandas as pd
import plotly.express as px


data = {
    'DateTime': ['18:12:17', '18:12:05', '18:11:59', '18:11:52', '18:11:42'],
    'value_num1': [84.4937, 84.5038, 84.5247, 84.5386, 84.552],
    'value_num2': [84.49000, 84.47000, 84.49000, 84.52000, 84.51000]
}

df = pd.DataFrame(data)

# Convert DateTime string to datetime format.
df['DateTime'] = pd.to_datetime(df['DateTime'],format= '%H:%M:%S' ).dt.time

fig = px.line(df, x='DateTime', y=['value_num1', 'value_num2'])
fig.update_layout(
    xaxis = dict(autorange="reversed")
)
fig.show()

输出