【发布时间】:2022-01-02 22:40:38
【问题描述】:
我为这件事挠头太久了。我尝试更新刻度线及其标签,但这会造成另一个问题,即失去准确性,并且刻度线标签过多会导致轴非常聚集。
我有以下代码
import pandas as pd
import plotly.graph_objs as go
from datetime import datetime
data = {
datetime(2022, 1, 1, 10, 0, 0): 10,
datetime(2022, 1, 1, 10, 15, 0): 20,
datetime(2022, 1, 1, 10, 30, 0): 30,
datetime(2022, 1, 1, 10, 45, 0): 40,
datetime(2022, 1, 1, 13, 0, 0): 40,
datetime(2022, 1, 1, 13, 15, 0): 30,
datetime(2022, 1, 1, 13, 30, 0): 20,
datetime(2022, 1, 1, 13, 45, 0): 10,
}
df = pd.Series(data)
# Plot line graph
fig = go.Figure(go.Scatter(
x=df.index,
y=df.values,
mode='lines',
)
)
# Update the axies
fig.update_yaxes(title="Value")
fig.update_xaxes(title="Date")
# Update the overall figure layout
fig.update_layout(
title={
'text': "Title",
'x': 0.5,
'xanchor': 'center',
'yanchor': 'top'
}
)
fig.show()
它会生成以下图表。
问题
图表显示了从 11:00 到 13:00 的直线,但根据 data,它没有值。我希望它不被绘制出来,并且那些刻度不显示。
我试过了。
要删除刻度,通过将日期转换为索引数字,然后相应地重新标记它们,但是这会产生另一个问题,即每个刻度都显示标签,并且我失去了准确性。 IE:如果数据是 3 个月,那么刻度将只显示每个日期的日期,但是当我放大一天时,它会将它们重新标记为当天的时间。但是,使用我的重新索引和标签解决方案,每个刻度都有标签,无法阅读。
包需要运行以上代码。
pip install dash pandas
【问题讨论】:
标签: python python-3.x plotly