【问题标题】:Ploytly remove ticks with no data绘制删除没有数据的刻度
【发布时间】: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


    【解决方案1】:

    所以我在问了这个问题 20 分钟后就想通了。

    我必须更新以下两行

    fig = go.Figure(go.Scatter(
            x=df.index.strftime('%Y-%m-%d %H:%M:%S'), # Convert the datetime to my desired format
            y=df.values,
            mode='lines',
        )
    )
    
    

    与

    fig.update_layout(
        title={
            'text': "Title",
            'x': 0.5,
            'xanchor': 'center',
            'yanchor': 'top'
        },
        xaxis=dict(type="category") # Not sure what it does, will update once i know.
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-19
      相关资源
      最近更新 更多