【问题标题】:create a bar chart using plotly使用 plotly 创建条形图
【发布时间】:2018-04-03 11:23:20
【问题描述】:

我正在尝试使用plotly 创建条形图。

输入数据如下:

In [7]: datag.ix[:,0].tolist()[1:6]
Out[7]: [2020.0, 5000.0, 6010.0, 6017.0, 6020.0]

In [8]:datag.ix[:,1].tolist()[1:6]
Out[8]: 
[0.005178087393490427,
 0.0014053668695097226,
 0.3174139251746979,
 0.006049724003653125,
 0.24824287385322272]

代码是

import plotly
import plotly.offline as offline
import plotly.plotly as py 
import plotly.graph_objs as go

trace1 = go.Bar(
        x=[str(x) for x in datag.ix[:,0].tolist()[1:6]],#datag.ix[:,0].tolist()[1:6],
        y=datag.ix[:,1].tolist()[1:6],
        name='travel'
        )
data=[trace1]
layout= go.Layout(
        barmode= 'stack',
        title='Realization: 0, 0',
        xaxis=dict(title='Model'),
        yaxis=dict(title='Time (minutes)')
        )
fig= go.Figure(data=data, layout=layout)
offline.plot(fig, image='png', filename='stacked-bar')

我得到以下输出: 但是,问题是我想将 x 数据演示为字符串 我试过x=[str(x) for x in datag.ix[:,0].tolist()[1:6]]。 有人能帮我弄清楚怎么做吗?

【问题讨论】:

    标签: python plotly stacked-chart


    【解决方案1】:

    即使您提供字符串,也可以“假设”您的数据类型。将type 设置为categorical 分别为您的xaxisyaxis in layout 应该可以解决问题。

    import pandas as pd
    import plotly.offline as offline
    import plotly.plotly as py 
    import plotly.graph_objs as go
    
    d = {'x': [None,
               2020.0, 
               5000.0, 
               6010.0, 
               6017.0, 
               6020.0], 
         'y': [None,
               0.005178087393490427,
               0.0014053668695097226,
               0.3174139251746979,
               0.006049724003653125,
               0.24824287385322272]}
    datag = pd.DataFrame(data=d)
    
    trace1 = go.Bar(
        x=[str(x) for x in datag.ix[:,0].tolist()[1:6]],
        y=datag.ix[:,1].tolist()[1:6],
        name='travel')
    
    data = [trace1]
    layout = go.Layout(
        barmode='stack',
        title='Realization: 0, 0',
        xaxis=dict(title='Model', 
                   type='category'),
        yaxis=dict(title='Time (minutes)'))
    fig = go.Figure(data=data, layout=layout)
    offline.plot(fig, image='png', filename='stacked-bar')
    

    【讨论】:

      猜你喜欢
      • 2021-03-09
      • 2021-10-25
      • 2021-05-18
      • 2020-10-20
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      相关资源
      最近更新 更多