Python 圖表制作

學習使用Python做簡單圖表

  • 分析目標:探查成為地市級黨委書記與各類因素的關(guān)系碘菜,共六個表格
  • 使用數(shù)據(jù):“地市級黨委書記數(shù)據(jù)庫”队魏,以Excel格式保存
  • 先把數(shù)據(jù)文件導出為.csv格式文件

代碼如下

import numpy as np  
import pandas as pd 
import matplotlib.pyplot as plt
data = pd.read_csv("C:\\Users\\HY\\Desktop\\python視頻\\微專業(yè)\\數(shù)據(jù)資料\\地市級黨委書記數(shù)據(jù)庫(2000-10).csv",engine = 'python',encoding = "gbk")


# 年齡情況:整體年齡分布 / 入職年齡分布 / 卸任年齡分布
data_age = data[['出生年份','黨委書記姓名','年份']]
data_age_re = data_age[data_age['出生年份'].notnull()]
# 新建變量data_age,賦值包括年份臼疫、出生年份字段內(nèi)容
# 清除缺失值
df1 = 2017 - data_age_re['出生年份']
# 計算出整體年齡數(shù)據(jù)
df_yearmin = data_age_re[['黨委書記姓名','年份']].groupby(data_age_re['黨委書記姓名']).min()
df2 = df_yearmin['年份'].groupby(df_yearmin['年份']).count()
# 計算出入職年齡數(shù)據(jù)
df_yearmax = data_age_re[['黨委書記姓名','年份']].groupby(data_age_re['黨委書記姓名']).max()
df3 = df_yearmax['年份'].groupby(df_yearmax['年份']).count()
# 計算出卸任年齡數(shù)據(jù)


# 專業(yè)情況:專業(yè)結(jié)構(gòu) / 專業(yè)整體情況 / 專業(yè)大類分布 
data_major = data[['黨委書記姓名','年份','專業(yè):人文','專業(yè):社科','專業(yè):理工','專業(yè):農(nóng)科','專業(yè):醫(yī)科']]
data_major_re = data_major[data_major['專業(yè):人文'].notnull()]
# 新建變量data_major择份,賦值包括年份、專業(yè)等字段內(nèi)容烫堤,其中1代表是荣赶,0代表否
# 清除缺失值
data_major_re['專業(yè)'] = data_major_re[['專業(yè):人文', '專業(yè):社科', '專業(yè):理工', '專業(yè):農(nóng)科', '專業(yè):醫(yī)科']].idxmax(axis=1)
# 統(tǒng)計每個人的專業(yè)
data_major_st = data_major_re[['專業(yè)','黨委書記姓名']].drop_duplicates()
# 去重
df4 = data_major_st['專業(yè)'].groupby(data_major_st['專業(yè)']).count()
# 計算出學歷結(jié)構(gòu)數(shù)據(jù)
df5 = pd.crosstab(data_major_re['年份'], data_major_re['專業(yè)'])
# 計算每年專業(yè)整體情況數(shù)據(jù)
df5['社科比例'] = df5['專業(yè):社科'] / (df5['專業(yè):理工'] + df5['專業(yè):醫(yī)科'] + df5['專業(yè):社科'] + df5['專業(yè):農(nóng)科'] + df5['專業(yè):人文'])
df5['人文比例'] = df5['專業(yè):人文'] / (df5['專業(yè):理工'] + df5['專業(yè):醫(yī)科'] + df5['專業(yè):社科'] + df5['專業(yè):農(nóng)科'] + df5['專業(yè):人文'])
df5['理工農(nóng)醫(yī)比例'] = (df5['專業(yè):理工'] + df5['專業(yè):醫(yī)科'] + df5['專業(yè):農(nóng)科'])/ (df5['專業(yè):理工'] + df5['專業(yè):醫(yī)科'] + df5['專業(yè):社科'] + df5['專業(yè):農(nóng)科'] + df5['專業(yè):人文'])
# 計算每年專業(yè)大類分布數(shù)據(jù)


# 年齡情況:圖表繪制
fig_q2 = plt.figure(figsize = (12,8))
# 創(chuàng)建一個圖表,大小為12*8
ax1 = fig_q2.add_subplot(2,3,1)
ax2 = fig_q2.add_subplot(2,3,2)
ax3 = fig_q2.add_subplot(2,3,3)
ax4 = fig_q2.add_subplot(2,3,4)
ax5 = fig_q2.add_subplot(2,3,5)
ax6 = fig_q2.add_subplot(2,3,6)
# 創(chuàng)建一個3*2的表格矩陣
ax1.hist(df1,bins = 11,color = 'gray', alpha=0.9)  #bins N個條形
ax1.set_title('整體年齡分布')
ax1.grid(True)  #加網(wǎng)格
# 繪制第一個表格
ax2.plot(df2,color = 'r',marker = 'o',alpha=0.9)   #marker節(jié)點是什么
ax2.set_title('入職年齡分布')
ax2.set_xticks(range(2000,2011,2))
ax2.grid(True)
# 繪制第二個表格
ax3.plot(df3,color = 'g',marker = 'o',linestyle = "dashed",alpha=0.9)  #linestyle設(shè)置虛線
ax3.set_title('卸任年齡分布')
ax3.set_xticks(range(2000,2011,2))
ax3.grid(True)
# 繪制第三個表格
ax4.bar(range(len(df4)),df4,color = 'y')
ax4.set_xticklabels(['人文','農(nóng)科','醫(yī)科','理工','社科'])
ax4.grid(True)
ax4.set_title('專業(yè)結(jié)構(gòu)')
# 繪制第四個表格
ax5.plot(df5.index,df5[['專業(yè):人文','專業(yè):農(nóng)科','專業(yè):醫(yī)科','專業(yè):理工','專業(yè):社科']])
ax5.grid(True)
ax5.set_title('專業(yè)整體情況')
# 繪制第五個表格
ax6.bar(df5.index,df5['社科比例'],color = 'darkred',alpha=0.7)
ax6.bar(df5.index,df5['人文比例'],color = 'darkred',bottom = df5['社科比例'],alpha=0.5)
ax6.bar(df5.index,df5['理工農(nóng)醫(yī)比例'],color = 'darkred',bottom = df5['人文比例'] + df5['社科比例'],alpha=0.3)
ax6.grid(True)
ax6.set_title('專業(yè)大類分布:社科塔逃、人文讯壶、理工農(nóng)醫(yī)')
# 繪制第六個表格

plt.show()

代碼運行結(jié)果如下


探查成為地市級黨委書記與各類因素的關(guān)系.png
  • 圖一:整體年齡分布(直方圖)
  • 圖二:入職年齡分布(折線圖)
  • 圖三:卸任年齡分布(折線圖)
  • 圖四:專業(yè)結(jié)構(gòu)(條形圖)
  • 圖五:專業(yè)整體情況(折線圖)
  • 圖六:專業(yè)大類分布情況(堆積圖)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末料仗,一起剝皮案震驚了整個濱河市湾盗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌立轧,老刑警劉巖格粪,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異氛改,居然都是意外死亡帐萎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門胜卤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疆导,“玉大人,你說我怎么就攤上這事葛躏〕憾危” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵舰攒,是天一觀的道長败富。 經(jīng)常有香客問我,道長摩窃,這世上最難降的妖魔是什么兽叮? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮猾愿,結(jié)果婚禮上鹦聪,老公的妹妹穿的比我還像新娘。我一直安慰自己蒂秘,他們只是感情好泽本,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著材彪,像睡著了一般观挎。 火紅的嫁衣襯著肌膚如雪琴儿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天嘁捷,我揣著相機與錄音造成,去河邊找鬼。 笑死雄嚣,一個胖子當著我的面吹牛晒屎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播缓升,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼鼓鲁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了港谊?” 一聲冷哼從身側(cè)響起骇吭,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎歧寺,沒想到半個月后燥狰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡斜筐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年龙致,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顷链。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡目代,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嗤练,到底是詐尸還是另有隱情榛了,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布潭苞,位于F島的核電站,受9級特大地震影響此疹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蝗碎,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蹦骑。 院中可真熱鬧慈省,春花似錦、人聲如沸眠菇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽致燥。三九已至,卻和暖如春排截,著一層夾襖步出監(jiān)牢的瞬間嫌蚤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工断傲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留脱吱,地道東北人认罩。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像猜年,于是被迫代替她去往敵國和親疾忍。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容