X 轴缩放不正确?
X-axis doesn't scale correctly?
这是我的代码片段:
fig = px.line(df, x="epoch_time_ms", y="bacteria_count", line_shape="hv", markers=True, color='bacteria_type')
fig.update_traces(mode="markers+lines", hovertemplate=None)
fig.update_layout(hovermode='x unified')
我的图表看起来像这样
x 轴刻度不正确。例如,前两个数据点之间的时间间隔约为 42 秒,第三个和第四个数据点之间的时间间隔约为 18 秒。但是你可以看到点之间的距离并没有真正反映它(即我预计第 3 和第 4 之间的距离就像前 2 个数据点之间距离的一半)。
有没有办法解决这个缩放问题?
谢谢!
P.S。我在 dash 2.0
和 plotly 5.3.1
.
已构建示例数据框。两个轴都作为时间和纪元 ms 工作。您确定您的纪元时间是数字而不是字符串或对象(即被视为分类而不是连续系列)?
import pandas as pd
import numpy as np
import plotly.express as px
df = pd.DataFrame({"time":pd.Series(pd.date_range("1-nov-2021","2-nov-2021", freq="S")).sample(30),
"bacteria_count":np.random.randint(0,500, 30), "bacteria_type":np.random.choice(list("AB"),30)})
df["epoch_time_ms"] = df["time"].astype(int) / 1000
df = df.sort_values("time")
fig = px.line(df, x="time", y="bacteria_count", line_shape="hv", markers=True, color='bacteria_type')
fig.update_traces(mode="markers+lines", hovertemplate=None)
fig.update_layout(hovermode='x unified')
fig.show()
fig = px.line(df, x="epoch_time_ms", y="bacteria_count", line_shape="hv", markers=True, color='bacteria_type')
fig.update_traces(mode="markers+lines", hovertemplate=None)
fig.update_layout(hovermode='x unified')
fig.show()
这是我的代码片段:
fig = px.line(df, x="epoch_time_ms", y="bacteria_count", line_shape="hv", markers=True, color='bacteria_type')
fig.update_traces(mode="markers+lines", hovertemplate=None)
fig.update_layout(hovermode='x unified')
我的图表看起来像这样
x 轴刻度不正确。例如,前两个数据点之间的时间间隔约为 42 秒,第三个和第四个数据点之间的时间间隔约为 18 秒。但是你可以看到点之间的距离并没有真正反映它(即我预计第 3 和第 4 之间的距离就像前 2 个数据点之间距离的一半)。
有没有办法解决这个缩放问题?
谢谢!
P.S。我在 dash 2.0
和 plotly 5.3.1
.
已构建示例数据框。两个轴都作为时间和纪元 ms 工作。您确定您的纪元时间是数字而不是字符串或对象(即被视为分类而不是连续系列)?
import pandas as pd
import numpy as np
import plotly.express as px
df = pd.DataFrame({"time":pd.Series(pd.date_range("1-nov-2021","2-nov-2021", freq="S")).sample(30),
"bacteria_count":np.random.randint(0,500, 30), "bacteria_type":np.random.choice(list("AB"),30)})
df["epoch_time_ms"] = df["time"].astype(int) / 1000
df = df.sort_values("time")
fig = px.line(df, x="time", y="bacteria_count", line_shape="hv", markers=True, color='bacteria_type')
fig.update_traces(mode="markers+lines", hovertemplate=None)
fig.update_layout(hovermode='x unified')
fig.show()
fig = px.line(df, x="epoch_time_ms", y="bacteria_count", line_shape="hv", markers=True, color='bacteria_type')
fig.update_traces(mode="markers+lines", hovertemplate=None)
fig.update_layout(hovermode='x unified')
fig.show()