本文实例为大家分享了python使用Plotly绘图工具绘制柱状图的具体代码,供大家参考,具体内容如下

使用Plotly绘制基本的柱状图,需要用到的函数是graph_objs 中 Bar函数

通过参数,可以设置柱状图的样式。

通过barmod进行设置可以绘制出不同类型的柱状图出来。

我们先来实现一个简单的柱状图:

# -*- coding: utf-8 -*-

import plotly as py

import plotly.graph_objs as go

pyplt = py.offline.plot

# Trace

trace_basic = [go.Bar(

x = ['Variable_1', 'Variable_2', 'Variable_3','Variable_4','Variable_5'],

y = [1, 2, 3, 2, 4],

)]

# Layout

layout_basic = go.Layout(

title = 'The Graph Title',

xaxis = go.XAxis(range = [-0.5,4.5], domain = [0,1])

)

# Figure

figure_basic = go.Figure(data = trace_basic, layout = layout_basic)

# Plot

pyplt(figure_basic, filename='tmp/1.html')

上面这个例子,就是一个简单的柱状图。

下面我们讲下另外一种图,柱状簇

实现过程则是,在基本的柱状图中,加入多租数据即可实现,柱状簇

import plotly as py

import plotly.graph_objs as go

pyplt = py.offline.plot

# Traces

trace_1 = go.Bar(

x = ["西南石油", "东方明珠", "海泰发展"],

y = [4.12, 5.32, 0.60],

name = "201609"

)

trace_2 = go.Bar(

x = ["西南石油", "东方明珠", "海泰发展"],

y = [3.65, 6.14, 0.58],

name = "201612"

)

trace_3 = go.Bar(

x = ["西南石油", "东方明珠", "海泰发展"],

y = [2.15, 1.35, 0.19],

name = "201703"

)

trace = [trace_1, trace_2, trace_3]

# Layout

layout = go.Layout(

title = '净资产收益率对比图'

)

# Figure

figure = go.Figure(data = trace, layout = layout)

# Plot

pyplt(figure, filename='tmp/2.html')

执行上述代码,我们可以看到如上图所示柱状簇图例

可将数据堆叠生成。

接下来在讲讲如何绘制层叠柱状图

层叠柱状图的绘制方法与柱状簇的绘制方法基本差不多

也就是对同一个柱状簇进行叠加,实现方法是对Layout中的barmode属性进行设置

barmode = 'stack'

其余参数,与柱状簇相同。

# -*- coding: utf-8 -*-

import plotly as py

import plotly.graph_objs as go

pyplt = py.offline.plot

# Stacked Bar Chart

trace_1 = go.Bar(

x = ['深证50', '上证50', '西南50', '西北50','华中50'],

y = [0.7252, 0.9912, 0.5347, 0.4436, 0.9911],

name = '股票投资'

)

trace_2 = go.Bar(

x = ['深证50', '上证50', '西南50', '西北50','华中50'],

y = [0.2072, 0, 0.4081, 0.4955, 0.02],

name='其它投资'

)

trace_3 = go.Bar(

x = ['深证50', '上证50', '西南50', '西北50','华中50'],

y = [0, 0, 0.037, 0, 0],

name='债券投资'

)

trace_4 = go.Bar(

x = ['深证50', '上证50', '西南50', '西北50','华中50'],

y = [0.0676, 0.0087, 0.0202, 0.0609, 0.0087],

name='银行存款'

)

trace = [trace_1, trace_2, trace_3, trace_4]

layout = go.Layout(

title = '基金资产配置比例图',

barmode='stack'

)

fig = go.Figure(data = trace, layout = layout)

pyplt(fig, filename='tmp/1.html')

瀑布式柱状图

瀑布式柱状图是层叠柱状图的另外一种表现

可以选择性地显示层叠部分来实现柱状图的悬浮效果。

# -*- coding: utf-8 -*-

import plotly as py

import plotly.graph_objs as go

pyplt = py.offline.plot

x_data = ['资产1', '资产2',

'资产3','资产4', '总资产']

y_data = [56000000, 65000000, 65000000, 81000000, 81000000]

text = ['666,999,888万元', '8,899,666万元', '88,899,666万元', '16,167,657万元', '888,888,888万元']

# Base

trace0 = go.Bar(

x=x_data,

y=[0, 57999848, 0, 66899764, 0],

marker=dict(

color='rgba(1,1,1, 0.0)',

)

)

# Trace

trace1 = go.Bar(

x=x_data,

y=[57999848, 8899916, 66899764,16167657, 83067421],

marker=dict(

color='rgba(55, 128, 191, 0.7)',

line=dict(

color='rgba(55, 128, 191, 1.0)',

width=2,

)

)

)

data = [trace0, trace1]

layout = go.Layout(

title = '测试图例',

barmode='stack',

showlegend=False

)

annotations = []

for i in range(0, 5):

annotations.append(dict(x=x_data[i], y=y_data[i], text=text[i],

font=dict(family='Arial', size=14,

color='rgba(245, 246, 249, 1)'),

showarrow=False,))

layout['annotations'] = annotations

fig = go.Figure(data=data, layout=layout)

pyplt(fig, filename = 'tmp/1.html')

运行上述代码,可以得到如上图所示的瀑布式柱状图。

下面我们说说,图形样式的设置。

对于柱状图颜色与样式的设置可以通过设置下面这个案例来说明。

import plotly as py

import plotly.graph_objs as go

pyplt = py.offline.plot

# Customizing Individual Bar Colors

volume = [0.49,0.71,1.43,1.4,0.93]

width = [each*3/sum(volume) for each in volume]

trace0 = go.Bar(

x = ['AU.SHF', 'AG.SHF', 'SN.SHF',

'PB.SHF', 'CU.SHF'],

y = [0.85, 0.13, -0.93, 0.46, 0.06],

width = width,

marker = dict(

color=['rgb(205,38,38)', 'rgb(205,38,38)',

'rgb(34,139,34)', 'rgb(205,38,38)',

'rgb(205,38,38)'],

line=dict(

color='rgb(0,0,0)',

width=1.5,

)),

opacity = 0.8,

)

data = [trace0]

layout = go.Layout(

title = '有色金属板块主力合约日内最高涨幅与波动率图',

xaxis=dict(tickangle=-45),

)

fig = go.Figure(data=data, layout=layout)

pyplt(fig, filename='tmp/4.html')

运行上述代码,可以看到上图所示图例

柱状图展示了5种金属,在某个交易日的最高涨幅与波动率情况,柱形图宽度表示相对波动率的高低。

柱形图越宽,波动率越大,高度表示涨幅,红色表示上涨,绿色表示下跌。

用line设置柱状图外部线框,用width设置柱状图的宽度,用opacity设置柱状图颜色的透明度情况。

基本的柱状图情况,就讲到这里。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python 画柱状图-python使用Plotly绘图工具绘制柱状图相关推荐

  1. python画气泡图_python使用Plotly绘图工具绘制气泡图

    今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图. 气泡图的实现方法类似散点图的实现.修改散点图中点的大小,就变成气泡图. 实现代码如下: import plotly as py i ...

  2. python 条形图-python使用Plotly绘图工具绘制水平条形图

    本文实例为大家分享了python绘制水平条形图的具体代码,供大家参考,具体内容如下 水平条形图与绘制柱状图类似,大家可以先看看我之前写的博客,如何绘制柱状图 水平条形图需要在Bar函数中设置orien ...

  3. python 条形图 stack_python使用Plotly绘图工具绘制水平条形图

    本文实例为大家分享了python绘制水平条形图的具体代码,供大家参考,具体内容如下 水平条形图与绘制柱状图类似,大家可以先看看我之前写的博客,如何绘制柱状图 水平条形图需要在Bar函数中设置orien ...

  4. python气泡图画_Python使用Plotly绘图工具,绘制气泡图

    今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图. 气泡图的实现方法类似散点图的实现.修改散点图中点的大小,就变成气泡图. 实现代码如下: importplotly as pyimp ...

  5. 用python画xy散点图-python使用Plotly绘图工具绘制散点图、线形图

    今天在研究Plotly绘制散点图的方法,供大家参考,具体内容如下 使用Python3.6 + Plotly Plotly版本2.0.0 在开始之前先说说,还需要安装库Numpy,安装方法在我的另一篇博 ...

  6. 如何用python绘图、柱形图、线形图等_python使用Plotly绘图工具绘制散点图、线形图...

    今天在研究Plotly绘制散点图的方法,供大家参考,具体内容如下 使用Python3.6 + Plotly Plotly版本2.0.0 在开始之前先说说,还需要安装库Numpy,安装方法在我的另一篇博 ...

  7. python画直方图代码-Python使用Plotly绘图工具,绘制直方图

    今天我们再来讲解一下Python使用Plotly绘图工具如何绘制直方图 使用plotly绘制直方图需要用到graph_objs包中的Histogram函数 我们将数据赋值给函数中的x变量,x = da ...

  8. 编程软件python图片-python Plotly绘图工具的简单使用

    1.plotly库的相关介绍 1)相关说明 plotly是一个基于javascript的绘图库,plotly绘图种类丰富,效果美观: 易于保存与分享plotly的绘图结果,并且可以与Web无缝集成: ...

  9. Python使用Plotly绘图工具,绘制面积图

    今天我们来讲一下如何使用Python使用Plotly绘图工具,绘制面积图 绘制面积图与绘制散点图和折线图的画法类似,使用plotly graph_objs 中的Scatter函数,不同之处在于面积图对 ...

最新文章

  1. linux 中 ~/.和$
  2. YbtOJ-森林之和【dp】
  3. 分布式队列编程优化篇
  4. 软件测试 测试策略_测试策略| 软件工程
  5. 程序员的第一份实习!附面试初体验
  6. 计算机网络中seq,计算机网络A卷及参考答案
  7. 发卡源码php免签约,2021亲测响应式PHP个人自动发卡源码-AZ发卡网源码 对接免签约易支付...
  8. Facebook在美国正式推出语音聊天应用Live Audio Rooms
  9. TIOBE 2 月编程语言排行榜:Python 逼近 C,Groovy 重回 TOP20
  10. 像素,色彩,分辨率什么的
  11. 【论文翻译】Deep Learning
  12. SCC1传输请求(同系统跨Client)
  13. 基于RabbitMQ实现的订单超时功能-记录备查
  14. 总结51单片机之上拉电阻
  15. ssoj3991: 雪人(snowman)
  16. Juniper SRX密码恢复
  17. component lists rendered with v-for should have explicit keys.
  18. ASP.NET Development Server的Directory Browsing模式HTML垃圾代码
  19. 计算机桌面的内存设置方法,计算机内存不足【处理方法】
  20. 前端框架综述(8)前端

热门文章

  1. 公积金联名卡——提取公积金用,用身份证即可办理
  2. Nlpir大数据知识图谱的落地指南
  3. 开通博客的第一篇随笔~
  4. Java并发编程:深入剖析ThreadLocal
  5. selenium之定位以及切换frame
  6. MFC中的消息处理函数
  7. IIS 使用域账户访问SQL 需要配置
  8. 会话管理之session技术
  9. 【NOI2015】软件包管理器
  10. MySQL使用 IN 查询取出数据排序问题(与in排序相同、不排序)