python柱状图第四节(python使用Plotly绘图工具绘制柱状图)
python柱状图第四节
python使用Plotly绘图工具绘制柱状图本文实例为大家分享了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 inliidual 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设置柱状图颜色的透明度情况。
基本的柱状图情况,就讲到这里。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/u012798683/article/details/88800743
- 如何查看python是否安装selenium(selenium+python截图不成功的解决方法)
- python中test函数用法(Python TestCase中的断言方法介绍)
- python核心编程内容(顶级大神Linux,Python,Go,PHP之父谁是夜猫子?用Python揭秘!)
- python字符处理的函数(Python字符串内置函数功能与用法总结)
- python入门之字符串处理(Python中常用的8种字符串操作方法)
- python分支的描述(学习python分支结构)
- python3爬虫代码(Python3爬楼梯算法示例)
- 未来10年python前景(Python应用领域和就业形势分析总结)
- python直接查询mongodb(pymongo中聚合查询的使用方法)
- python pandas读取数据库表(Python3.5 Pandas模块之DataFrame用法实例分析)
- python使用django搭建简单网页(Python后台开发Django的教程详解启动)
- python编程ai人工智能(AI领域都在用Python即将被淘汰?网友预测未来的编程语言不会是TA)
- python爬取豆瓣评分排行榜(Python爬虫——爬取豆瓣电影Top250代码实例)
- python爬虫书籍经典(Python利用lxml模块爬取豆瓣读书排行榜的方法与分析)
- python爬虫request方法介绍(详解Python3网络爬虫二:利用urllib.urlopen向有道翻译发送数据获得翻译结果)
- python创建一个xls文件(Python XlsxWriter模块Chart类用法实例分析)
- 红色代表什么(红色代表什么寓意)
- 蓝天代表什么(蓝天代表什么生肖)
- 今天要吃什么(今天要吃什么菜)
- 营养餐是什么(学校营养餐是什么)
- 谁说女子不如男 范冰冰演的武则天只是其一,另外两位你认识吗(谁说女子不如男)
- 杯酒人生---瓦伦丁酒杯和奥丁格啤酒(杯酒人生---瓦伦丁酒杯和奥丁格啤酒)
热门推荐
- plsql提示developer(PL/SQL Developer过期的两种解决方法)
- python撤回的微信消息怎么看(Python实现微信消息防撤回功能的实例代码)
- 云服务器定时重启(云服务器无法正常关机/重启的几种原因)
- ubuntu18.04更换软件源(ubuntu20.04 LTS系统默认源sources.list文件的修改)
- HTML5离线缓存
- windows搭建php环境(windows 2008r2+php5.6.28环境搭建详细过程)
- 如何选择自己的网站服务器(网站应该选择哪种服务器比较好?)
- js中alert相关知识点(js中getBoundingClientRect 方法案例详解)
- 小程序推荐ui库(AmazeUI 列表的实现示例)
- SQLServer获取临时表所有列名或是否存在指定列名的方法(SQLServer获取临时表所有列名或是否存在指定列名的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9