【问题标题】:Plotly dash population bar chart not working properlyPlotly dash 人口条形图无法正常工作
【发布时间】:2021-11-04 11:20:51
【问题描述】:

我想做一个简单的人口条形图,但我看不懂。 我的数据集是:

Age,Women,Men
"18-24",1.8%,2%
"25-34",20.9%,13.7%
"35-44",19.3%,14.6%
"45-54",9.3%,8%
"55-64",3.6%,2.9%
"65+",2.3%,1.6%

代码是:

example_graph11  =  px.bar(facebook2, x='Age', y=['Men', 'Women'], barmode='stack',

          title = 'Percentage of Facebook fans by age and gender')

但结果很奇怪,我不明白我应该输入什么输入数据。我也尝试了金字塔图,但它不起作用。

Image of the result

【问题讨论】:

    标签: python charts plotly plotly-dash


    【解决方案1】:

    Plotly 正在对所有条目进行以太规范化(将值除以自身),因为每个间隔只有 1 个点,一切都变为 1。或者由于 % 而认为数据是一个字符串,所以它计算并绘制个人价值观。

    您可以尝试这样的操作,删除 % 然后进行绘图:

    import plotly.graph_objects as go
    interval=["18-24", "25-34", "35-44","45-54", "55-64","65+"]
    Men = [2,13.7,14.6,8,2.9,1.6]
    Women = [1.8, 20.9, 19.3, 9.3,3.6,2.3]
    
    fig = go.Figure(data=[
        go.Bar(name='Women', x=interval, y=Women),
        go.Bar(name='Men', x=interval, y=Men)
    ])
    # Change the bar mode
    fig.update_layout(barmode='group')
    fig.show()
    

    【讨论】:

      【解决方案2】:
      import matplotlib.pyplot as plt
      
      data = {
          'age': ['18-24', '25-34', '35-44', '45-54', '55-64', '65+'],
          'women': [1.8, 20.9, 19.3, 9.3, 3.6, 2.3],
          'men': [2, 13.7, 14.6, 8, 2.9, 1.6]
      }
      
      x = data['age']
      y_women = data['women']
      y_men = data['men']
      
      plt.bar(x, y_women, color='purple', label='Women')
      plt.bar(x, y_men, color='green', label='Men')
      
      plt.legend()
      plt.xlabel('Age')
      plt.ylabel('Population %')
      plt.title('Population by age and gender')
      
      plt.show()
      

      【讨论】:

      • 谢谢,但它是仪表板,所以我需要情节!
      猜你喜欢
      • 2020-08-25
      • 2021-07-14
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多