Python繪制堆疊柱狀圖的實(shí)例
有個(gè)朋友要求幫忙繪制堆疊柱狀圖,查閱了一些文檔之后也算是完成了,只是一個(gè)小demo,下面我就記錄一下。
1.什么是堆疊柱狀圖
與并排顯示分類(lèi)的分組柱狀圖不同,堆疊柱狀圖將每個(gè)柱子進(jìn)行分割以顯示相同類(lèi)型下各個(gè)數(shù)據(jù)的大小情況。它可以形象的展示一個(gè)大分類(lèi)包含的每個(gè)小分類(lèi)的數(shù)據(jù),以及各個(gè)小分類(lèi)的占比,顯示的是單個(gè)項(xiàng)目與整體之間的關(guān)系。效果圖如下:

2.數(shù)據(jù)展示

這里展示了部分?jǐn)?shù)據(jù),主要是treatment就是對(duì)應(yīng)的上圖分類(lèi)一,分類(lèi)二;species就是對(duì)應(yīng)的分組;ra就是對(duì)應(yīng)的各個(gè)分組的比例。
3.Python代碼
from matplotlib import pyplot as plt
import pandas as pd
import xlrd
import numpy as np
data = xlrd.open_workbook('ccc.xlsx') #打開(kāi)數(shù)據(jù)
table = data.sheet_by_index(0) #獲取sheet1的數(shù)據(jù)
nrows = table.nrows #獲取sheet1中的行
plot_list = ['plot1']
plot1_ra_list = [[0] for i in range(17)]#構(gòu)建一個(gè)17X1的列表
i = 0
for row in range(1,nrows): #循環(huán)讀取表內(nèi)數(shù)據(jù)
if table.cell(row,0).value == 2015.0 and table.cell(row,1).value == 'plot1':
print(table.cell(row, 3).value) #第三列是各個(gè)元素所占的比例
print(i)
plot1_ra_list[i][0]=(float(table.cell(row, 3).value))
i+=1
#顏色列表
color = ['y','r','snow','b','k','g','orange','c','bisque','brown','lime','aqua','coral','darkcyan','gold','teal','pink',]
plt.figure(figsize=(8,6))
for i in range(17):
plt.bar(range(len(plot1_ra_list[i])), plot1_ra_list[i],bottom=np.sum(plot1_ra_list[:i],axis = 0),label=str(i+1),tick_label = plot_list,fc = color[i])
plt.legend()
plt.show()
4.效果展示
上述代碼我只做了2015年的plot1,如果要把plot2增加上注意要對(duì)齊plot1和plot2的species數(shù)量,可以認(rèn)為的添加,并補(bǔ)充對(duì)應(yīng)的ra為0,這樣子也不影響整個(gè)做圖。下面我PO一張demo。

以上這篇Python繪制堆疊柱狀圖的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python 畫(huà)條形圖(柱狀圖)實(shí)例
- python畫(huà)柱狀圖--不同顏色并顯示數(shù)值的方法
- python使用matplotlib繪制柱狀圖教程
- Python讀取Excel表格,并同時(shí)畫(huà)折線圖和柱狀圖的方法
- Python實(shí)現(xiàn)繪制雙柱狀圖并顯示數(shù)值功能示例
- Python用?matplotlib?繪制柱狀圖
- python使用matplotlib畫(huà)柱狀圖、散點(diǎn)圖
- Python數(shù)據(jù)可視化處理庫(kù)PyEcharts柱狀圖,餅圖,線性圖,詞云圖常用實(shí)例詳解
- python繪制雙Y軸折線圖以及單Y軸雙變量柱狀圖的實(shí)例
- python繪制柱狀圖的方法
相關(guān)文章
一個(gè)基于flask的web應(yīng)用誕生 flask和mysql相連(4)
一個(gè)基于flask的web應(yīng)用誕生第四篇,這篇文章主要介紹了如何讓flask和mysql進(jìn)行互聯(lián),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
解決Keyerror ''''acc'''' KeyError: ''''val_acc''''問(wèn)題
這篇文章主要介紹了解決Keyerror 'acc' KeyError: 'val_acc'問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
使用SQLAlchemy操作數(shù)據(jù)庫(kù)表過(guò)程解析
這篇文章主要介紹了使用SQLAlchemy操作數(shù)據(jù)庫(kù)表過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
分布式訓(xùn)練training-operator和pytorch-distributed?RANK變量不統(tǒng)一解決
這篇文章主要介紹了分布式訓(xùn)練training-operator和pytorch-distributed?RANK變量不統(tǒng)一問(wèn)題的解決方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Python使用Plotly繪制常見(jiàn)5種動(dòng)態(tài)交互式圖表
Plotly是一個(gè)非常強(qiáng)大的開(kāi)源數(shù)據(jù)可視化框架,它通過(guò)構(gòu)建基于 HTML 的交互式圖表來(lái)顯示信息,可創(chuàng)建各種形式的精美圖表。本文將用Plotly庫(kù)繪制常見(jiàn)的五種動(dòng)態(tài)交互式圖表,感興趣的可以學(xué)習(xí)一下2022-03-03
使用IronPython把Python腳本集成到.NET程序中的教程
這篇文章主要介紹了使用IronPython把Python腳本集成到.NET程序中的教程,現(xiàn)在剛剛被微軟開(kāi)源的.NET重新成為業(yè)界熱點(diǎn)、本文介紹了使Python和.NET交互的IronPython,需要的朋友可以參考下2015-03-03
Python urllib.request對(duì)象案例解析
這篇文章主要介紹了Python urllib.request對(duì)象案例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
pycharm 在windows上編輯代碼用linux執(zhí)行配置的方法
今天小編就為大家分享一篇pycharm 在windows上編輯代碼用linux執(zhí)行配置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10

