欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用Plotly繪圖工具繪制柱狀圖

 更新時(shí)間:2019年04月01日 15:26:23   作者:成都-王帥  
這篇文章主要為大家詳細(xì)介紹了python使用Plotly繪圖工具繪制柱狀圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了python使用Plotly繪圖工具繪制柱狀圖的具體代碼,供大家參考,具體內(nèi)容如下

使用Plotly繪制基本的柱狀圖,需要用到的函數(shù)是graph_objs 中 Bar函數(shù)

通過參數(shù),可以設(shè)置柱狀圖的樣式。

通過barmod進(jìn)行設(shè)置可以繪制出不同類型的柱狀圖出來。

我們先來實(shí)現(xiàn)一個(gè)簡單的柱狀圖:

# -*- 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') 

上面這個(gè)例子,就是一個(gè)簡單的柱狀圖。

下面我們講下另外一種圖,柱狀簇

實(shí)現(xiàn)過程則是,在基本的柱狀圖中,加入多租數(shù)據(jù)即可實(shí)現(xiàn),柱狀簇

import plotly as py
import plotly.graph_objs as go
pyplt = py.offline.plot
# Traces
trace_1 = go.Bar(
 x = ["西南石油", "東方明珠", "海泰發(fā)展"],
 y = [4.12, 5.32, 0.60],
 name = "201609"
 )
trace_2 = go.Bar(
 x = ["西南石油", "東方明珠", "海泰發(fā)展"],
 y = [3.65, 6.14, 0.58],
 name = "201612"
 )
 
trace_3 = go.Bar(
 x = ["西南石油", "東方明珠", "海泰發(fā)展"],
 y = [2.15, 1.35, 0.19],
 name = "201703"
 )
trace = [trace_1, trace_2, trace_3]
# Layout
layout = go.Layout(
 title = '凈資產(chǎn)收益率對(duì)比圖'
 )
# Figure
figure = go.Figure(data = trace, layout = layout)
# Plot
pyplt(figure, filename='tmp/2.html')

執(zhí)行上述代碼,我們可以看到如上圖所示柱狀簇圖例

可將數(shù)據(jù)堆疊生成。

接下來在講講如何繪制層疊柱狀圖

層疊柱狀圖的繪制方法與柱狀簇的繪制方法基本差不多

也就是對(duì)同一個(gè)柱狀簇進(jìn)行疊加,實(shí)現(xiàn)方法是對(duì)Layout中的barmode屬性進(jìn)行設(shè)置

barmode = 'stack'

其余參數(shù),與柱狀簇相同。

# -*- 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 = '基金資產(chǎn)配置比例圖',
 barmode='stack'
)
 
fig = go.Figure(data = trace, layout = layout)
pyplt(fig, filename='tmp/1.html')

瀑布式柱狀圖

瀑布式柱狀圖是層疊柱狀圖的另外一種表現(xiàn)

可以選擇性地顯示層疊部分來實(shí)現(xiàn)柱狀圖的懸浮效果。

# -*- coding: utf-8 -*-
import plotly as py
import plotly.graph_objs as go
pyplt = py.offline.plot
 
x_data = ['資產(chǎn)1', '資產(chǎn)2',
  '資產(chǎn)3','資產(chǎn)4', '總資產(chǎn)']
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')

運(yùn)行上述代碼,可以得到如上圖所示的瀑布式柱狀圖。

下面我們說說,圖形樣式的設(shè)置。

對(duì)于柱狀圖顏色與樣式的設(shè)置可以通過設(shè)置下面這個(gè)案例來說明。

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 = '有色金屬板塊主力合約日內(nèi)最高漲幅與波動(dòng)率圖',
 xaxis=dict(tickangle=-45),
)
 
fig = go.Figure(data=data, layout=layout)
pyplt(fig, filename='tmp/4.html')

運(yùn)行上述代碼,可以看到上圖所示圖例

柱狀圖展示了5種金屬,在某個(gè)交易日的最高漲幅與波動(dòng)率情況,柱形圖寬度表示相對(duì)波動(dòng)率的高低。

柱形圖越寬,波動(dòng)率越大,高度表示漲幅,紅色表示上漲,綠色表示下跌。

用line設(shè)置柱狀圖外部線框,用width設(shè)置柱狀圖的寬度,用opacity設(shè)置柱狀圖顏色的透明度情況。

基本的柱狀圖情況,就講到這里。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python代理IP爬蟲的新手使用教程

    Python代理IP爬蟲的新手使用教程

    這篇文章主要給大家介紹了關(guān)于Python代理IP爬蟲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 3個(gè)Python?SQLAlchemy數(shù)據(jù)庫操作功能詳解

    3個(gè)Python?SQLAlchemy數(shù)據(jù)庫操作功能詳解

    Python?SQLAlchemy?是一個(gè)強(qiáng)大且多功能的?Python?SQL?工具包和對(duì)象關(guān)系映射?(ORM)?系統(tǒng),提供了一整套眾所周知的企業(yè)級(jí)持久性模式,本文為大家整理了它必須了解的3個(gè)數(shù)據(jù)庫操作功能,希望對(duì)大家有所幫助
    2023-09-09
  • python實(shí)現(xiàn)感知機(jī)模型的示例

    python實(shí)現(xiàn)感知機(jī)模型的示例

    這篇文章主要介紹了python實(shí)現(xiàn)感知機(jī)模型的示例,幫助大家更好的理解和學(xué)習(xí)python 機(jī)器學(xué)習(xí)的相關(guān)知識(shí),感興趣的朋友可以了解下
    2020-09-09
  • python3 kmp 字符串匹配的方法

    python3 kmp 字符串匹配的方法

    這篇文章主要介紹了python3 kmp 字符串匹配的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • pytest測試框架+allure超詳細(xì)教程

    pytest測試框架+allure超詳細(xì)教程

    這篇文章主要介紹了pytest測試框架+allure超詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-11-11
  • 詳解Python的Django框架中的templates設(shè)置

    詳解Python的Django框架中的templates設(shè)置

    這篇文章主要介紹了Python的Django框架中的TEMPLATES設(shè)置,主要講述了Django1.8版本后的一些新特性,需要的朋友可以參考下
    2015-05-05
  • 如何使用Python生成Hilbert矩陣

    如何使用Python生成Hilbert矩陣

    這篇文章主要介紹了如何使用Python生成Hilbert矩陣,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 使用pyinstaller打包.exe文件的詳細(xì)教程

    使用pyinstaller打包.exe文件的詳細(xì)教程

    PyInstaller是一個(gè)跨平臺(tái)的Python應(yīng)用打包工具,能夠把 Python 腳本及其所在的 Python 解釋器打包成可執(zhí)行文件,下面這篇文章主要給大家介紹了關(guān)于使用pyinstaller打包.exe文件的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 一篇文章帶你了解Python中的裝飾器

    一篇文章帶你了解Python中的裝飾器

    Python中的裝飾器是你進(jìn)入Python大門的一道坎,不管你跨不跨過去它都在那里,下面這篇文章主要給大家介紹了關(guān)于Python中裝飾器的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 一篇文章帶你了解python字典基礎(chǔ)

    一篇文章帶你了解python字典基礎(chǔ)

    這篇文章主要介紹了Python字典及字典基本操作方法,結(jié)合實(shí)例形式詳細(xì)分析了Python字典的概念、創(chuàng)建、格式化及常用操作方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2021-08-08

最新評(píng)論