兩三年沒有登錄upwok的賬號了汽纤,基本上已經(jīng)被frozen了。這兩天想找點事做蕴坪,就去瀏覽了一下以前設(shè)置好的job feed背传,剛好看到一個做數(shù)據(jù)可視化的,練練手找找感覺吧径玖。
這個是我看到的Job Descrption梳星,直接上圖:
Job Details
于是我自己做了一個Excel的樣板,和他給的表格樣子差不多:
數(shù)據(jù)都是我用python的隨機函數(shù)填的前域,下一步就是讀取這個Excel文件匿垄,因為做的時候只是圖快归粉,沒有去比較各個lib的優(yōu)劣,選了個名字好記的 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ī)操作了滴劲,這里說一個編程思想吧顾复,以前讀書的時候,c語言的老師叫我們編程芯砸,把編程什么的吹得神乎其神,讓我們覺得簡直是藝術(shù)和技術(shù)都要登峰造極的人才能駕馭這項工作双揪,以為函數(shù)什么的都是要背的渔期,以為學(xué)編程就得手寫代碼幾萬行才算入門,以為所有的程序員都必須自己一個字符一個字符的自己敲代碼疯趟,記不住的東西不能查信峻,不能看,不能借用別人的盹舞。反正那個時候被灌輸?shù)暮枚嗪枚喱F(xiàn)在看來ridiculous的觀念踢步,真的是晚開竅了很多年。這里強調(diào)一下贾虽,是我本科的時候蓬豁。
不扯遠了,后面這一段就是我從matplotlib官網(wǎng)粘貼的取募,當然蟆技,修改了一點點以適應(yīng)我的這個腳本:
# 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()
最后出了一個效果,這個圖表似乎叫做 Percentage Stacked Bar Chart: