直方图无法正确呈现数据

问题描述 投票:0回答:1

我有一个csv,我正在尝试创建in的直方图。 csv包含日期字段(以小时为单位),用户计数字段和平均连接时间字段。我正在尝试使用以下代码段绘制用户计数字段值的时间图。从代码中可以看出,我还尝试根据用户从下拉菜单中选择时间范围来重新分配xbin。

不幸的是,所生成的图形似乎不正确,因为它每天返回的值为1或4。这与每小时有多个用户#的csv本身不符。

我以为问题是我修改垃圾箱/聚合的方式,但是我似乎无法弄清楚到底是什么错误。任何帮助表示赞赏。

直方图:Final Graph

代码段:

    df['END TIME'] = pd.to_datetime(df['END TIME'])
    df['END TIME'] = df['END TIME'].dt.round('H')
    df.to_csv(r"C:\temp\test.csv")
    data = [dict(
        x=df['END TIME'],
        y=df['USER COUNT'],
        autobinx=False,
        autobiny=True,
        marker=dict(color='rgb(68, 68, 68)'),
        name='date',
        type='histogram',
        xbins=dict(
            end= df['END TIME'].max(),
            size='3600000',
            start=df['END TIME'].min()
        )
    )]

    layout = dict(
        paper_bgcolor='rgb(240, 240, 240)',
        plot_bgcolor='rgb(240, 240, 240)',
        title='<b>User Count</b>',
        xaxis=dict(
            title='',
            type='date'
        ),
        yaxis=dict(
            title='User Count',
            type='linear'
        ),
        updatemenus=[dict(
            x=0.1,
            y=1.15,
            xref='paper',
            yref='paper',
            yanchor='top',
            active=1,
            showactive=True,
            buttons=[
                dict(
                    args=['xbins.size', '3600000'],
                    label='Hour',
                    method='restyle',
                ), dict(
                    args=['xbins.size', 'D1'],
                    label='Day',
                    method='restyle',
                ), dict(
                    args=['xbins.size', 'M1'],
                    label='Month',
                    method='restyle',
                ), dict(
                    args=['xbins.size', 'M3'],
                    label='Quarter',
                    method='restyle',
                ), dict(
                    args=['xbins.size', 'M6'],
                    label='Half Year',
                    method='restyle',
                ), dict(
                    args=['xbins.size', 'M12'],
                    label='Year',
                    method='restyle',
                )]
        )]
    )

    fig_dict = dict(data=data, layout=layout)
    pio.show(fig_dict, validate=False)
python plotly aggregation bins
1个回答
0
投票

需要在数据变量声明中添加histfunc =“ avg”。

© www.soinside.com 2019 - 2024. All rights reserved.