情节:为什么px.line不会穿这个图?

问题描述 投票:1回答:2

我想为数据集df绘制交互式图:

Time    Temperature
8:23:04     18.5
8:23:04     19
9:12:57     19
9:12:57     20
9:12:58     20
9:12:58     21
9:12:59     21
9:12:59     23
9:13:00     23
9:13:00     25
9:13:01     25
9:13:01     27
9:13:02     27
9:13:02     28
9:13:03     28

带有下面的代码:

import plotly.express as px
df = pd.read_csv('/content/drive/My Drive/df.csv', sep=',')

fig = px.line(df, x=df["Time"], y=df["Temperature"])
fig.show()

但是没有返回任何内容。这是为什么?谢谢。

python pandas matplotlib plotly
2个回答
0
投票

检查您的数据集是否采用正确的Csv格式以及路径是否正确:(检查时间和温度之间是否有空格)

Time,Temperature
08:23:04 AM,18.5
08:23:04 AM,19
09:12:57 AM,19
09:12:57 AM,20
09:12:58 AM,20
09:12:58 AM,21
09:12:59 AM,21
09:12:59 AM,23
09:13:00 AM,23
09:13:00 AM,25
09:13:01 AM,25
09:13:01 AM,27
09:13:02 AM,27
09:13:02 AM,28
09:13:03 AM,28

将在图形的浏览器选项卡中打开图形


0
投票

问题必须与您的数据导入本身有关。我正在使用两种不同的方法来获得该图:

enter image description here

方法1:

使用ctrl+c复制数据集并运行此代码:

import pandas as pd 
import plotly.graph_objects as go
import plotly.express as px

df = pd.read_clipboard(sep='\\s+')
fig = px.line(df, x=df["Time"], y=df["Temperature"])
fig.show()

方法2:

我以与上述相同的方式导入数据,但是我使用pd.to_dict()在数据框中构造了一个字典,然后在该词典中构造了数据框df_d

import pandas as pd 
import plotly.graph_objects as go
import plotly.express as px

df_d = pd.DataFrame({'Time': {0: '8:23:04',
                              1: '8:23:04',
                              2: '9:12:57',
                              3: '9:12:57',
                              4: '9:12:58',
                              5: '9:12:58',
                              6: '9:12:59',
                              7: '9:12:59',
                              8: '9:13:00',
                              9: '9:13:00',
                              10: '9:13:01',
                              11: '9:13:01',
                              12: '9:13:02',
                              13: '9:13:02',
                              14: '9:13:03'},
                             'Temperature': {0: 18.5,
                              1: 19.0,
                              2: 19.0,
                              3: 20.0,
                              4: 20.0,
                              5: 21.0,
                              6: 21.0,
                              7: 23.0,
                              8: 23.0,
                              9: 25.0,
                              10: 25.0,
                              11: 27.0,
                              12: 27.0,
                              13: 28.0,
                              14: 28.0}})

#fig = px.line(df, x=df["Time"], y=df["Temperature"])
fig2 =  px.line(df_d, x=df["Time"], y=df_d["Temperature"])

fig2.show()

结论:

如果您能够使用px.express生成any其他图,则问题必须与从csv文件导入数据的方式有关。如果您有机会尝试在Jupyter实验室或Jupyter笔记本中制作地块,则问题可能是由于Jupyter中缺少绘图扩展名引起的。

© www.soinside.com 2019 - 2024. All rights reserved.