• Python使用Plotly绘图工具,绘制水平条形图


    水平条形图与绘制柱状图类似,大家可以先看看我之前写的博客,如何绘制柱状图

    水平条形图需要在Bar函数中设置orientation= 'h'

    其他的参数与柱状图相同。也可以通过设置barmode = 'stack',

    绘制层叠水平条形图和瀑布式水平条形图

    import plotly as py
    import plotly.graph_objs as go
    pyplt = py.offline.plot
    data = [go.Bar(
                x=[29.41, 34.62, 30.16],
                y=['资产1', '资产2', '资产3'],
                orientation = 'h'
    )]
    layout = go.Layout(
                title = '净资产收益率对比'
        )
    figure = go.Figure(data = data, layout = layout)
    pyplt(figure, filename='tmp/1.html')

     运行上述代码,得到如上图所示的图例,可以看到其画法跟柱状图一样,只是变成水平方向。

    如何画水平的层叠条形图,只需要我们将参数,barmode = 'stack',即可画出响应的水平图

    import plotly as py
    import plotly.graph_objs as go
    
    pyplt = py.offline.plot
    trace1 = go.Bar(
        y = ['CU.SHF', 'AG.SHF', 'AU.SHF'],
        x = [21258, 30279, 8056],
        name = '期货1',
        orientation = 'h',
        marker = dict(
            color = '#104E8B',
            line = dict(
                color = '#104E8B',
                width = 3)
        )
    )
    trace2 = go.Bar(
        y = ['CU.SHF', 'AG.SHF', 'AU.SHF'],
        x = [19853, 9375, 4063],
        name = '期货2',
        orientation = 'h',
        marker = dict(
            color = '#1874CD',
            line = dict(
                color = '#104E8B',
                width = 3)
        )
    )
    trace3 = go.Bar(
        y = ['CU.SHF', 'AG.SHF', 'AU.SHF'],
        x = [4959, 13018, 8731],
        name = '期货3',
        orientation = 'h',
        marker = dict(
            color = '#1C86EE',
            line = dict(
                color = '#104E8B',
                width = 3)
        )
    )
    
    data = [trace1, trace2,trace3]
    layout = go.Layout(
        title = '稀有金属期货持仓量对比图',
        barmode='stack'
    )
    
    fig = go.Figure(data=data, layout=layout)
    pyplt(fig, filename='tmp/2.html')

    运行上述代码,可以得到如上图所示的层叠水平条形图。

     水平条形图和柱状图的画法基本上相同。剩下的就不细讲了。

  • 相关阅读:
    121. Best Time to Buy and Sell Stock
    玩转算法2.3常见的算法复杂度分析
    数组中的逆序对
    一些基本的代码模板
    230. Kth Smallest Element in a BST
    42. Trapping Rain Water
    api token
    仿百度查询
    baidu jsonp
    How to fix Error: laravel.log could not be opened?
  • 原文地址:https://www.cnblogs.com/ws17345067708/p/10598696.html
Copyright © 2020-2023  润新知