兩三年沒有登錄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:
