【问题标题】:Plotly: Making bar chart bars visible when data has large rangePlotly:当数据范围很大时使条形图条可见
【发布时间】:2021-08-24 01:52:00
【问题描述】:

我正在创建一个笔记本,让用户可以选择系列以绘制条形图和散点图。图表正在生成,但在某些情况下,甚至很难判断该图表是否包含任何数据。

以这张图为例。这是一个包含 5000 个条目的图表,所有条目的数据都在 -4 和 4 之间。我在 x 轴上绘制索引列,在 y 轴上绘制值。 TLDR:只要 x 轴范围很大,条形就会太小而无法看到。

到目前为止,我已尝试将图表的默认颜色更改为红色,以便条形至少更加突出。但正如你在图片中看到的,它仍然几乎看不到。

我知道已经有一些方法可以开始放大,这可能是一个很好的解决方案。但是因为我不确定数据会提前是什么样子(可能是数字、日期、字符串等),所以我一直在努力创建一个好的启发式方法来使放大后的图表看起来不错。

是否有人对如何配置绘图缩放设置或以其他方式使图表在初始渲染时更明显有建议?

我使用以下代码生成图表:

import plotly.graph_objects as go
import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.randn(5000, 1), columns=list('A'))

fig = go.Figure(data=[
    go.Bar( 
        y = df['A'],
        name = 'A'
    )]
)

fig.show()

非常感谢!!

【问题讨论】:

    标签: python pandas jupyter-notebook plotly plotly-dash


    【解决方案1】:

    默认显示所有数据,但可以限制x轴数据显示。您可以在此处指定要显示为初始数据的粒度。您也可以通过点击顶部的缩放图标来更改粒度,但如果您将其设置为可以使用鼠标的滚动功能进行缩放会更方便。

    import plotly.graph_objects as go
    import numpy as np
    import pandas as pd
    
    df = pd.DataFrame(np.random.randn(5000, 1), columns=list('A'))
    
    fig = go.Figure(data=[
        go.Bar( 
            y = df['A'],
            name = 'A'
        )]
    )
    fig.update_layout(xaxis=dict(range=[df.index[1750], df.index[2000]]))
    config = dict({'scrollZoom': True})
    fig.show(config=config)
    

    【讨论】:

    • 滚动缩放参考可以在here找到。如果我的回答对您有帮助,请考虑接受它作为正确答案。
    猜你喜欢
    • 2018-04-08
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2023-04-05
    • 2021-08-12
    • 1970-01-01
    • 2016-11-14
    相关资源
    最近更新 更多