【问题标题】:Plotly 散点图除以月和年
【发布时间】:2022-01-21 18:13:38
【问题描述】:

我正在尝试使用 plotly express 绘制散点图。我有一个工作数据集,其中有一个名为 ['Posting Updated'] 的列。我想绘制发布工作的年份与发布月份的信息。也许是颜色或大小?我似乎无法以可以做到这一点的方式设置我的数据。

有人对我如何做到这一点有任何见解吗?

在此先感谢

大爱

df['Posting Updated'] = pd.to_datetime(df['Posting Updated'])
years  = df.groupby(df['Posting Updated'].dt.year)['Job ID'].count()
months = df.groupby(df['Posting Updated'].dt.month)['Job ID'].count()
years_df = pd.DataFrame(years)
months_df = pd.DataFrame(months)
job_growth = px.scatter(years_df, x = years_df.index, 
                    size = 'Job ID', color = months_df.index)

【问题讨论】:

    标签: plotly data-visualization plotly-express


    【解决方案1】:

    由于您想要实现的目标有点模糊,我从您的问题中了解到,您希望将频率的大小表示为散点图,x 轴为年份,y 轴为月份。对于图中使用的数据,我酌情使用随机数创建了200条年月数据,然后按年月分组计算频率。图表的 x 轴和 y 轴仅设置为必要的比例。

    import pandas as pd
    import plotly.express as px
    import numpy as np
    import random
    
    df = pd.DataFrame({'JOb ID':['{}'.format(x) for x in np.arange(1000,1200)],
                       'Posting Updated': random.choices(pd.date_range('2016-01-01', '2021-01-01',freq='1d'), k=200),
                      'value':[1]*200})
    
    df['year'] = df['Posting Updated'].dt.year
    df['month'] = df['Posting Updated'].dt.month
    dfs = df.groupby(['year','month']).size().to_frame('value')
    dfs.reset_index(inplace=True)
        
    fig = px.scatter(dfs, x='year', y='month',size='value', color='value')
    
    fig.update_yaxes(tickvals=np.arange(1,13))
    fig.update_xaxes(tickvals=dfs.year.unique())
    fig.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 2021-11-04
      • 1970-01-01
      • 2020-05-15
      • 1970-01-01
      • 2021-05-11
      • 2022-01-16
      相关资源
      最近更新 更多