數(shù)據(jù)可視化,一個(gè)簡單的demo

兩三年沒有登錄upwok的賬號了,基本上已經(jīng)被frozen了。這兩天想找點(diǎn)事做,就去瀏覽了一下以前設(shè)置好的job feed,剛好看到一個(gè)做數(shù)據(jù)可視化的,練練手找找感覺吧。

這個(gè)是我看到的Job Descrption,直接上圖:

Job Details

于是我自己做了一個(gè)Excel的樣板,和他給的表格樣子差不多:

數(shù)據(jù)都是我用python的隨機(jī)函數(shù)填的,下一步就是讀取這個(gè)Excel文件,因?yàn)樽龅臅r(shí)候只是圖快,沒有去比較各個(gè)lib的優(yōu)劣,選了個(gè)名字好記的 openpyxl,用起來還是比較方便:

import openpyxl

import random

wb=openpyxl.load_workbook('./data.xlsx')

sheet=wb['Sheet1']

green_bar=[]

orange_bar=[]

blue_bar=[]

取到數(shù)據(jù)還需要整理一下格式,這里用到pandas:

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import rc

import pandas as pd

raw_data = {'greenBars': green_bar, 'orangeBars': orange_bar,'blueBars': blue_bar}

df = pd.DataFrame(raw_data)

再然后就是matplotlib的常規(guī)操作了,這里說一個(gè)編程思想吧,以前讀書的時(shí)候,c語言的老師叫我們編程,把編程什么的吹得神乎其神,讓我們覺得簡直是藝術(shù)和技術(shù)都要登峰造極的人才能駕馭這項(xiàng)工作,以為函數(shù)什么的都是要背的,以為學(xué)編程就得手寫代碼幾萬行才算入門,以為所有的程序員都必須自己一個(gè)字符一個(gè)字符的自己敲代碼,記不住的東西不能查,不能看,不能借用別人的。反正那個(gè)時(shí)候被灌輸?shù)暮枚嗪枚喱F(xiàn)在看來ridiculous的觀念,真的是晚開竅了很多年。這里強(qiáng)調(diào)一下,是我本科的時(shí)候。

不扯遠(yuǎn)了,后面這一段就是我從matplotlib官網(wǎng)粘貼的,當(dāng)然,修改了一點(diǎn)點(diǎn)以適應(yīng)我的這個(gè)腳本:

# Create green Bars

plt.bar(r, greenBars, color='#b5ffb9', edgecolor='white', width=barWidth)

# Create orange Bars

plt.bar(r, orangeBars, bottom=greenBars, color='#f9bc86', edgecolor='white', width=barWidth)

# Create blue Bars

plt.bar(r, blueBars, bottom=[i+j for i,j in zip(greenBars, orangeBars)], color='#a3acff', edgecolor='white', width=barWidth)

# Show graphic

plt.show()

最后出了一個(gè)效果,這個(gè)圖表似乎叫做 Percentage Stacked Bar Chart:

Percentage Stacked Bar Chart
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容