繁体   English   中英

为什么 plotly express 在时间线上抛出数据点?

[英]Why does plotly express throw out data points on a timeline?

我有一个简单的 dataframe 有两列。 示例如下所示,数据可在此处获得

   year-week  users
0    2018-22      2
1    2018-23      3
2    2018-24      4
3    2018-25      3
4    2018-26      5
..       ...    ...
69   2020-03    232
70   2020-04    226
71   2020-05    214
72   2020-06    203
73   2020-07    119

[74 rows x 2 columns]

当我尝试使用 Plotly Express 对这两列进行 plot 时,它会忽略2019-30之前的数据。

import pandas
import plotly.express as px

df = pd.read_csv("https://pastebin.com/raw/x164p1Zp")
fig = px.line(df, x="year-week", y="users")
fig.update_layout(xaxis=dict(tickformat="%Y-%W"))
fig.show()

情节地

如果我的plot数据跟matplotlib一样,数据显示:

import pandas
import matplotlib

df = pd.read_csv("https://pastebin.com/raw/x164p1Zp")
df.plot.line(x="year-week", y="users");

matplotlib

我不明白为什么两个绘图库以截然不同的方式显示相同的数据。

我怎样才能 plot Plotly Express 中的所有数据点得到一个 plot 类似于 ZF0201313237EEB5A6F 显示的内容?

Plotly 无法将您的 x 轴识别为日期。 您需要将其显式转换为日期时间格式。

解决方案:

df = pd.read_csv("https://pastebin.com/raw/x164p1Zp")
# convert column to datetime, weekday needed for conversion to work
df["year-week"] = pd.to_datetime(df["year-week"] + '-0', format="%Y-%W-%w")
fig = px.line(df, x="year-week", y="users")
fig.update_layout(xaxis=dict(tickformat="%Y-%W"))
fig.show()

情节结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM