資料分析——作圖(Python)

來源:互聯網
上載者:User

標籤:tips   com   str   bar   橫線   ima   ipython   min   one   

一、基礎設定

匯入相關的庫

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline   #在ipython總顯示圖表

預設不顯示中文,因此需要更改設定,顯示中文 

#顯示中文import matplotlib as mpl mpl.rcParams[‘font.sans-serif‘] = [u‘SimHei‘]mpl.rcParams[‘axes.unicode_minus‘] = False  

設定全域變數

mpl.rc(‘font‘,size=12)  #字型mpl.rc(‘figure‘,figsize=(8,6))  #映像大小mpl.rc(‘axes.spines‘,right=False,top=False)  #設定右邊上邊的橫線是否顯示

二、匯入資料,並查看

data = sns.load_dataset(‘tips‘)data.head()
#欄位含義分別是:總消費,小費,性別,是否吸煙,周末,時間,幾個人

 

三、作圖(matplotlib)

1、折線圖

fig,ax = plt.subplots()  #fig主要設定一些全域的變數,而ax主要負責畫圖ax.plot(data.index,data[‘total_bill‘])fig.set_size_inches(12,6) #重新設定大小plt.title(‘折線圖標題‘,fontsize=22)  #標題,更改字型大小ax.set_xlabel(‘X軸‘,fontsize=18) #設定x軸,y軸的標題ax.set_ylabel(‘Y軸‘,fontsize=18)plt.yticks(fontsize=14) #刻度字型大小plt.xticks(fontsize=14)plt.legend([‘標籤‘],fontsize=15)  #標籤內容字型大小plt.savefig(‘折線圖‘,dpi=100)  #儲存圖片,可以設定dpi

2、直條圖

data_bar1 = data[‘tip‘].groupby(data[‘day‘]).mean() #統計資料,按照星期來分組data_bar2 = data[‘tip‘].groupby(data[‘time‘]).mean() #統計資料,按照星期來分組error = data[‘tip‘].groupby(data[‘time‘]).std() fig,ax = plt.subplots(1,2)   #畫出兩個地區ax[0].bar(data_bar1.index,data_bar1.values)  #第一個地區怎麼畫ax[0].set_xlabel(‘小費星期關係圖‘,fontsize=16)ax[0].set_ylabel(‘小費‘,fontsize=16)ax[0].legend([‘星期‘])ax[0].set_ylim(0,4)  #設定Y軸最大最小值ax[1].bar(data_bar2.index,data_bar2.values) #第二個地區怎麼畫ax[1].errorbar(data_bar2.index,data_bar2.values,yerr = error,ls = ‘none‘,color=‘#96CDCD‘,lw=6)  #加入方差圖ax[1].legend([‘午晚餐‘])ax[1].set_xlabel(‘小費午晚餐關係圖‘,fontsize=16)ax[1].set_xticklabels([‘晚餐‘,‘午餐‘])   #更改座標軸的名稱ax[1].set_ylim(0,4)  #設定Y軸最大最小值fig.set_size_inches(12,6)  #設定整個圖的大小plt.savefig(‘直條圖‘,dpi=100)  #儲存圖片,可以設定dpi

 

3、橫軸的直條圖

data_barh = data[‘tip‘].groupby(data[‘sex‘]).mean()  #統計資料,男女小費fig,ax = plt.subplots()ax.barh(data_barh.index,data_barh.values,0.4)  #0.4是寬度fig.set_size_inches(6,2)plt.title(‘橫著的‘)ax.set_ylabel(‘性別‘,fontsize=20)ax.set_xlabel(‘小費‘,fontsize = 20)plt.xticks(fontsize=14)ax.set_yticklabels([‘男性‘,‘女性‘])

  

 

4、餅圖

data_pie = data[‘size‘].groupby(data[‘size‘]).size()fig,ax = plt.subplots()ax.pie(data_pir,autopct=‘%1.1f%%‘,labels=data_pie.index,colors = [‘#B0E0E6‘,‘#B0C4DE‘,‘#A6A6A6‘,‘#FF3E96‘,‘#FFB5C5‘,‘#FFEBCD‘])#資料來源,顯示的數值,顯示標籤,顏色fig.set_size_inches(8,8)  #如果兩個數字不相等會變成橢圓

 

 

5、散佈圖

fig,ax = plt.subplots()ax.scatter(data[‘tip‘],data[‘total_bill‘])fig.set_size_inches(8,6)ax.set_xlabel(‘小費‘,fontsize=18)ax.set_ylabel(‘總消費‘,fontsize=18)plt.xticks(fontsize=12)plt.yticks(fontsize=12)

  

 

6、幾個地區的畫圖方法(一種是用上面的直條圖那種方法  fig,ax = plt.subplots(1,2),另一種是下面的這種,這種可以自訂佔據的空格數)

fig = plt.figure()ax1 = plt.subplot2grid((2,3),(0,0))ax1.bar(data_bar.index,data_bar.values)fig.set_size_inches(12,6)ax2 = plt.subplot2grid((2,3),(0,1),colspan=2)#佔據幾個空額,也可以是rowspan,一個是橫的,一個是豎的ax2.scatter(data[‘tip‘],data[‘total_bill‘])ax3 = plt.subplot2grid((2,3),(1,0))ax3.barh(data_barh.index,data_barh.values)

 

7、兩根直條圖對比

fig,ax = plt.subplots()ax.bar(np.arange(4),data_bar.values,0.3)    #橫座標先用數字代替ax.bar(np.arange(4)+0.3,data_bar.values*2,0.3)   #位移一定量ax.set_xticks(np.arange(4)+0.15)   #重新設定x軸的位置ax.set_xticklabels(data_bar.index)   #重新設定名稱

  

四、作圖(seaborn)

  

 

  

  

  

資料分析——作圖(Python)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.