日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Python】怎么用matplotlib画出漂亮的分析图表

發(fā)布時間:2025/3/12 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python】怎么用matplotlib画出漂亮的分析图表 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

特征錦囊:怎么用matplotlib畫出漂亮的分析圖表

???? Index

  • 數(shù)據(jù)集引入

  • 折線圖

  • 餅圖

  • 散點圖

  • 面積圖

  • 直方圖

  • 條形圖

關于用matplotlib畫圖,先前的錦囊里有提及到,不過那些圖都是比較簡陋的(《特征錦囊:常用的統(tǒng)計圖在Python里怎么畫?》),難登大雅之堂,作為一名優(yōu)秀的分析師,還是得學會一些讓圖表漂亮的技巧,這樣子拿出去才更加有面子哈哈。好了,今天的錦囊就是介紹一下各種常見的圖表,可以怎么來畫吧。

???? 數(shù)據(jù)集引入

首先引入數(shù)據(jù)集,我們還用一樣的數(shù)據(jù)集吧,分別是 Salary_Ranges_by_Job_Classification以及 GlobalLandTemperaturesByCity。(具體數(shù)據(jù)集可以后臺回復 plot獲取)

#?導入一些常用包 import?pandas?as?pd import?numpy?as?np import?seaborn?as?sns%matplotlib?inline import?matplotlib.pyplot?as?plt import?matplotlib?as?mpl plt.style.use('fivethirtyeight')#解決中文顯示問題,Mac from?matplotlib.font_manager?import?FontProperties#?查看本機plt的有效style print(plt.style.available) #?根據(jù)本機available的style,選擇其中一個,因為之前知道ggplot很好看,所以我選擇了它 mpl.style.use(['ggplot'])#?['_classic_test',?'bmh',?'classic',?'dark_background',?'fast',?'fivethirtyeight',?'ggplot',?'grayscale',?'seaborn-bright',?'seaborn-colorblind',?'seaborn-dark-palette',?'seaborn-dark',?'seaborn-darkgrid',?'seaborn-deep',?'seaborn-muted',?'seaborn-notebook',?'seaborn-paper',?'seaborn-pastel',?'seaborn-poster',?'seaborn-talk',?'seaborn-ticks',?'seaborn-white',?'seaborn-whitegrid',?'seaborn',?'Solarize_Light2']#?數(shù)據(jù)集導入#?引入第?1?個數(shù)據(jù)集?Salary_Ranges_by_Job_Classification salary_ranges?=?pd.read_csv('./data/Salary_Ranges_by_Job_Classification.csv')#?引入第?2?個數(shù)據(jù)集?GlobalLandTemperaturesByCity climate?=?pd.read_csv('./data/GlobalLandTemperaturesByCity.csv') #?移除缺失值 climate.dropna(axis=0,?inplace=True) #?只看中國 #?日期轉換,?將dt?轉換為日期,取年份,?注意map的用法 climate['dt']?=?pd.to_datetime(climate['dt']) climate['year']?=?climate['dt'].map(lambda?value:?value.year) climate_sub_china?=?climate.loc[climate['Country']?==?'China'] climate_sub_china['Century']?=?climate_sub_china['year'].map(lambda?x:int(x/100?+1)) climate.head()

???? 折線圖

折線圖是比較簡單的圖表了,也沒有什么好優(yōu)化的,顏色看起來順眼就好了。下面是從網上找到了顏色表,可以從中挑選~

#?選擇上海部分天氣數(shù)據(jù) df1?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.set_index('dt') df1.head()

#?折線圖 df1.plot(colors=['lime']) plt.title('AverageTemperature?Of?ShangHai') plt.ylabel('Number?of?immigrants') plt.xlabel('Years') plt.show()

上面這是單條折線圖,多條折線圖也是可以畫的,只需要多增加幾列。

#?多條折線圖 df1?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.rename(columns={'AverageTemperature':'SH'}) df2?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Tianjin')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.rename(columns={'AverageTemperature':'TJ'}) df3?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Shenyang')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.rename(columns={'AverageTemperature':'SY'}) #?合并 df123?=?df1.merge(df2,?how='inner',?on=['dt'])\.merge(df3,?how='inner',?on=['dt'])\.set_index(['dt']) df123.head()

#?多條折線圖 df123.plot() plt.title('AverageTemperature?Of?3?City') plt.ylabel('Number?of?immigrants') plt.xlabel('Years') plt.show()

???? 餅圖

接下來是畫餅圖,我們可以優(yōu)化的點多了一些,比如說從餅塊的分離程度,我們先畫一個“低配版”的餅圖。

df1?=?salary_ranges.groupby('SetID',?axis=0).sum()

#?“低配版”餅圖 df1['Step'].plot(kind='pie',?figsize=(7,7),autopct='%1.1f%%',shadow=True) plt.axis('equal') plt.show()

#?“高配版”餅圖 colors?=?['lightgreen',?'lightblue']?#控制餅圖顏色?['lightgreen',?'lightblue',?'pink',?'purple',?'grey',?'gold'] explode=[0,?0.2]?#控制餅圖分離狀態(tài),越大越分離df1['Step'].plot(kind='pie',?figsize=(7,?7),autopct?=?'%1.1f%%',?startangle=90,shadow=True,?labels=None,?pctdistance=1.12,?colors=colors,?explode?=?explode) plt.axis('equal') plt.legend(labels=df1.index,?loc='upper?right',?fontsize=14) plt.show()

???? 散點圖

散點圖可以優(yōu)化的地方比較少了,ggplot2的配色都蠻好看的,正所謂style選的好,省很多功夫!

#?選擇上海部分天氣數(shù)據(jù) df1?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.rename(columns={'AverageTemperature':'SH'})df2?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Shenyang')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.rename(columns={'AverageTemperature':'SY'}) #?合并 df12?=?df1.merge(df2,?how='inner',?on=['dt']) df12.head()

#?散點圖 df12.plot(kind='scatter',??x='SH',?y='SY',?figsize=(10,?6),?color='darkred') plt.title('Average?Temperature?Between?ShangHai?-?ShenYang') plt.xlabel('ShangHai') plt.ylabel('ShenYang') plt.show()

???? 面積圖

#?多條折線圖 df1?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.rename(columns={'AverageTemperature':'SH'}) df2?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Tianjin')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.rename(columns={'AverageTemperature':'TJ'}) df3?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Shenyang')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.rename(columns={'AverageTemperature':'SY'}) #?合并 df123?=?df1.merge(df2,?how='inner',?on=['dt'])\.merge(df3,?how='inner',?on=['dt'])\.set_index(['dt']) df123.head()

colors?=?['red',?'pink',?'blue']?#控制餅圖顏色?['lightgreen',?'lightblue',?'pink',?'purple',?'grey',?'gold'] df123.plot(kind='area',?stacked=False,figsize=(20,?10),?colors=colors) plt.title('AverageTemperature?Of?3?City') plt.ylabel('AverageTemperature') plt.xlabel('Years') plt.show()

???? 直方圖

#?選擇上海部分天氣數(shù)據(jù) df?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.set_index('dt') df.head()

#?最簡單的直方圖 df['AverageTemperature'].plot(kind='hist',?figsize=(8,5),?colors=['grey']) plt.title('ShangHai?AverageTemperature?Of?2010-2013')?#?add?a?title?to?the?histogram plt.ylabel('Number?of?month')?#?add?y-label plt.xlabel('AverageTemperature')?#?add?x-label plt.show()

???? 條形圖

#?選擇上海部分天氣數(shù)據(jù) df?=?climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\.loc[:,['dt','AverageTemperature']]\.set_index('dt') df.head()

df.plot(kind='bar',?figsize?=?(10,?6)) plt.xlabel('Month')? plt.ylabel('AverageTemperature')? plt.title('AverageTemperature?of?shanghai') plt.show()

df.plot(kind='barh',?figsize=(12,?16),?color='steelblue') plt.xlabel('AverageTemperature')? plt.ylabel('Month')? plt.title('AverageTemperature?of?shanghai')? plt.show()

今天的內容比較長了,建議收藏起來哦,下次有空的時候可以把它弄進自己的代碼庫,使用起來更加方便哦~

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統(tǒng)計學習方法》的代碼復現(xiàn)專輯 AI基礎下載機器學習的數(shù)學基礎專輯 獲取本站知識星球優(yōu)惠券,復制鏈接直接打開: https://t.zsxq.com/qFiUFMV 本站qq群704220115。加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【Python】怎么用matplotlib画出漂亮的分析图表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。