当前位置: 首页 > 编程笔记 >

python使用Plotly绘图工具绘制柱状图

白学
2023-03-14
本文向大家介绍python使用Plotly绘图工具绘制柱状图,包括了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 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 堆叠柱状图绘制方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍了Python 堆叠柱状图绘制方法,分享给大家,具体如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍jQuery.Highcharts.js绘制柱状图饼状图曲线图,包括了jQuery.Highcharts.js绘制柱状图饼状图曲线图的使用技巧和注意事项,需要的朋友参考一下 在数据统计和分析业务中,有时会遇到客户需要在一个图表中将柱状图、饼状图、曲线图的都体现出来,即可以从柱状图中看出具体数据、又能从曲线图中看出变化趋势,还能从饼状图中看出各部分数据比重。Highcharts可以轻松

  • 我正试着用Jupyter笔记本画热图。我的表由10个列和许多行组成。第一行是列名。我正在使用plotly lib。 dfs是数据帧。 而不是图形,我得到了很多这样的线条: '\n跟踪=判(\n x=x,y=y,z=z,\n类型="散射3d",\n模式=\'标记\',\n标记=判(大小=5,颜色=\'黑色\',线=判(宽度=0)))\n数据=[跟踪]\n\n\n etc 有什么问题?

  • 注意:使用形状工具,可以轻松地创建按钮、导航栏以及其他在网页上使用的项目。有关 Photoshop 中所有绘图功能的概述,请参阅关于绘图。 在形状图层上创建形状 选择一个形状工具或钢笔工具。确保从选项栏的菜单中选择“形状”。 若要选取形状的颜色,请在选项栏中单击色板,然后从拾色器中选取一种颜色。 (可选)在选项栏中设置工具选项。单击形状按钮旁边的反向箭头以查看每个工具的其他选项。(请参阅形状工具选

  • 注意:使用形状工具,可以轻松地创建按钮、导航栏以及其他在网页上使用的项目。有关 Photoshop 中所有绘图功能的概述,请参阅关于绘图。 在形状图层上创建形状 选择一个形状工具或钢笔工具。确保从选项栏的菜单中选择“形状”。 若要选取形状的颜色,请在选项栏中单击色板,然后从拾色器中选取一种颜色。 (可选)在选项栏中设置工具选项。单击形状按钮旁边的反向箭头以查看每个工具的其他选项。(请参阅形状工具选

  • 本文向大家介绍iOS使用Charts框架绘制柱形图,包括了iOS使用Charts框架绘制柱形图的使用技巧和注意事项,需要的朋友参考一下 首先看一下最终要实现的效果: 最终效果 一、初始化barChartView 绘制柱形图需要用到BarChartView这个类,下面是初始化代码: 二、设置barChartView的外观样式 1.基本样式 2.barChartView的交互设置 3.设置barCha

  • 使用铅笔工具绘图 铅笔工具在 Adobe Illustrator 和 InDesign 中的工作方式大致相同。它可用于绘制开放路径和闭合路径,就像用铅笔在纸上绘图一样。这对于快速素描或创建手绘外观最有用。绘制路径后,如有需要您可以立刻更改。 当您使用 “铅笔 ”工具绘制时锚点已设置;您不决定它们所在位置。但是,当路径完成后您可以调整它们。设置的锚点数量由路径的长度和复杂程度以及 “铅笔工具首选项

  • 本文向大家介绍python的绘图工具matplotlib使用实例,包括了python的绘图工具matplotlib使用实例的使用技巧和注意事项,需要的朋友参考一下 matplotlib是功能十分强大的绘制二维图形的Python模块,它用Python语言实现了MATLAB画图函数的易用性,同时又有非常强大的可定制性。它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方