色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

瀏覽:5日期:2022-06-28 14:16:28
一、matplotlib庫(kù)1、基本繪圖命令

import matplotlib.pyplot as pltplt.figure(figsize=(5,4)) #設(shè)置圖形大小plt.rcParams[’axes.unicode_minus’]=False #正常顯示負(fù)號(hào)plt.rcParams[’font.sans-self’]=[’Kai Ti’] #設(shè)置字體,這里是楷體,SimHei表示黑體#基本統(tǒng)計(jì)圖plt.bar(x,y);plt.pie(y,labels=x);plt.plot(x,y);plt.hist(df.身高) #若參數(shù)density=True則是頻率直方圖3、圖形參數(shù)設(shè)置

顏色: plt.plot(x,y,c=‘red’) #參數(shù)c控制顏色橫縱坐標(biāo)軸范圍: plt.xlim(0,100),plt.ylim(0,8)橫縱坐標(biāo)軸名稱: plt.xlabel(),plt.ylabel()橫縱坐標(biāo)軸刻度: plt.xticks(range(len(x)),x)線形和符號(hào): plt.plot(x,y,linestyle=’?’,marker=‘o’) #實(shí)線:’-’ ;虛線:’?’; ’.’指點(diǎn)線附加參考線: plt.axvline(x=1);plt.axhline(y=4)文字標(biāo)注: plt.text(3,5,‘peak point’) #參數(shù)表示:坐標(biāo)+文字圖例: plt.plot(x,y,label=‘折線’);plt.legend()分面繪圖:

#一行兩圖plt.subplot(121)plt.bar(x,y)plt.subplot(122)plt.plot(x,y)#一頁(yè)多圖fig,ax=plt.subplots(2,2,figsize=(15,12)) # 2行2列放4個(gè)圖,figsize控制大小ax[0,0].bar(x,y);ax[0,1].plot(x,y);ax[1,0].pie(x,y);ax[1,1].plot(y,’.’,linewidth=3)

具體的參數(shù)color、linestyle、圖例位置設(shè)置

顏色字符(color)

字符 代表顏色 r 紅色 b 藍(lán)色 g 綠色 w 白色 c 青色 m 洋紅 y 黃色 k 黑色

風(fēng)格字符(linestyle)

字符 代表風(fēng)格 - (一個(gè)連字符) 實(shí)線 ? (兩個(gè)連字符) 虛線 -. 點(diǎn)劃線 : 點(diǎn)虛線 ’ ’ 留空,空格

loc 參數(shù)(以matplotlib添加圖例為例說(shuō)明位置)

loc string loc code 位置 'best' 0 右上角(默認(rèn)) “upper right” 1 右上角 “upper left” 2 左上角 “l(fā)ower left” 3 左下角 “l(fā)ower right” 4 右下角 'right' 5 中右側(cè) “center left” 6 中左側(cè) “center right” 7 中右側(cè) “l(fā)ow center” 8 中下方 “upper center” 9 中上方 “center” 10 中間

4、特殊統(tǒng)計(jì)圖的繪制

4.1 數(shù)學(xué)函數(shù)圖

import matplotlib.pyplot as plt #加載基本繪圖包plt.rcParams[’font.sans-serif’]=[’SimHei’]; #SimHei黑體plt.rcParams[’axes.unicode_minus’]=False; #正常顯示圖中負(fù)號(hào)import numpy as np #加載軟件包numpyimport math #加載軟件包mathx=np.linspace(0,2*math.pi);x #生成[0,2*pi]序列 ,作為橫坐標(biāo)取值plt.plot(x,np.sin(x)) #y=sinx 正弦函數(shù)plt.plot(x,np.cos(x)) #y=cosx 余弦函數(shù)plt.plot(x,np.log(x)) #y=lnx #對(duì)數(shù)函數(shù)plt.plot(x,np.exp(x)) #y=e^x 指數(shù)函數(shù)

數(shù)學(xué)函數(shù)也可以用pandas庫(kù)繪制,可詳見我的另一篇博客:文章鏈接

#極坐標(biāo)圖t=np.linspace(0,2*math.pi) x=3*np.sin(t); y=5*np.cos(t) plt.plot(x,y); plt.text(0,0,r’$frac{x^2}{3^2}+frac{y^2}{5^2}=1$’,fontsize=20) #python借鑒的LATEX的格式,可以直接在圖中添加公式

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

4.2 氣泡圖

import pandas as pddf=pd.read_excel(’data.xlsx’)plt.scatter(df[’身高’], df[’體重’], s=df[’支出’]) #在散點(diǎn)圖的基礎(chǔ)上加上點(diǎn)的大小,例子中s=df[’支出’]就是將指各樣本點(diǎn)支出越多,點(diǎn)面積就越大

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

4.3 三維曲面圖

from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig)X = np.arange(-4, 4, 0.5) Y = np.arange(-4, 4, 0.5) X, Y = np.meshgrid(X, Y)Z = (X**2+ Y**2)ax.plot_surface(X, Y, Z) #該圖像就是表示函數(shù)z=x^2+y^2

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

二、seaborn庫(kù)1、常用統(tǒng)計(jì)圖

1.1 箱線圖

import seaborn as sns #加載軟件包seaborn#箱線圖sns.boxplot(x=df[’身高’])#豎著放的箱線圖,也就是將 x 換成 ysns.boxplot(y=df[’身高’]) #分組繪制箱線圖sns.boxplot(x=’性別’, y=’身高’,data=df) #將身高按性別分組后繪制

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

1.2 小提琴圖

sns.violinplot(x=’性別’, y=’支出’, data=df) #箱線圖的變種,可以加第三個(gè)類別參數(shù)hue

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

1.3 點(diǎn)圖

sns.stripplot(x=’性別’, y=’身高’, data=df, jitter=True) #分組的數(shù)據(jù)(定性+定量)畫的點(diǎn)圖,jitter參數(shù)為True表示將點(diǎn)分散開來(lái),默認(rèn)為false

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

1.4 條圖與計(jì)數(shù)圖

#條圖,即柱形圖sns.barplot(x=’性別’, y=’身高’, data=df, ci=0, palette='Blues_d') #palette用于設(shè)置顏色#計(jì)數(shù)圖sns.countplot(x=’性別’, hue='開設(shè)', data=df) #都是分類變量

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

1.5 分組圖

#按性別、開設(shè)依次分組后計(jì)數(shù),aspect指比例大小sns.factorplot(x=’性別’, col='開設(shè)', col_wrap=3, data=df, kind='count', size=2.5, aspect=.8)

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

1.6 概率分布圖

#displot:直方圖+密度函數(shù),bins表示分的組數(shù),kde=False表示不畫出密度曲線,rug表示有數(shù)據(jù)的地方就標(biāo)注出來(lái)sns.distplot(df[’身高’], kde=True, bins=20, rug=True)#自定義漸進(jìn)正態(tài)函數(shù)圖像def norm_sim2(N=1000,n=10): xbar=np.zeros(N) for i in range(N): xbar[i]=np.random.uniform(0,1,n).mean()#[0,1]上均勻隨機(jī)數(shù)均值 sns.distplot(xbar,bins=50) print(pd.DataFrame(xbar).describe().T)norm_sim2(N=100000,n=50)

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

2、聯(lián)合圖

sns.jointplot(x=’身高’, y=’體重’, data=df)#畫的散點(diǎn)圖+單個(gè)變量的直方圖

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

3、配對(duì)圖

#針對(duì)多個(gè)變量,兩兩配對(duì),畫在一起sns.pairplot(df[[’身高’,’體重’,’支出’]]) #將各變量間關(guān)系共放一張圖上,在多元統(tǒng)計(jì)分析中很有用

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

三、ggplot庫(kù)

ggplot庫(kù)是采用的繪畫中圖層的思想,即一層一層往上疊加,先畫好坐標(biāo),再添線,再增加其他操作,最后用 + 號(hào)連接起來(lái),操作起來(lái)更有邏輯章法,語(yǔ)句簡(jiǎn)潔。ggplot新包是plotnine,與R語(yǔ)言的ggplot2對(duì)應(yīng),使用起來(lái)更方便,故直接import plotnine即可,里面的函數(shù)使用與ggplot是基本一樣的

1、圖層畫法+常用圖形

繪制直角坐標(biāo)系和字體

GP=ggplot(aes(x=’身高’,y=’體重’),data=df)

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

在此基礎(chǔ)上增加線圖

GP + geom_line()+ theme_grey(base_family = ’SimHei’)#還可以再往上疊加,+geom_point()就是在折線圖基礎(chǔ)上加上散點(diǎn)圖

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

改為有三個(gè)變量的點(diǎn)圖,不同類型畫不同記號(hào)(shape)/顏色(color)

ggplot(df,aes(x=’身高’,y=’體重’,color=’性別’))+geom_point()+ theme_grey(base_family = ’SimHei’)

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

改為分面圖:用pandas繪制分組統(tǒng)計(jì)圖還需要先groupby,ggplot一步到位更加簡(jiǎn)便

ggplot(df,aes(x=’身高’,y=’體重’))+geom_point()+facet_wrap(’性別’) + theme_grey(base_family = ’SimHei’) #facet_wrap(’性別’)表示按性別分成兩組畫分面圖

python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)

此外,+theme_bw()等可以設(shè)置圖片背景、主題

2、快速繪圖

ggplot也可以像pandas一樣,在qplot函數(shù)中設(shè)置參數(shù)geom的取值而直接改變圖像類型

#快速繪制直方圖qplot(x=’身高’,data=df, geom=’histogram’)+ theme_grey(base_family = ’SimHei’)#快速繪制柱形圖qplot(’開設(shè)’,data=df, geom=’bar’)+ theme_grey(base_family = ’SimHei’)#默認(rèn)散點(diǎn)圖qplot(’身高’, ’體重’, data=df, color=’性別’) + theme_grey(base_family = ’SimHei’)

以上是基于《python數(shù)據(jù)分析基礎(chǔ)教程 王斌會(huì)》整理的學(xué)習(xí)筆記,還有許多參數(shù)設(shè)置沒(méi)有寫明,以及pyecharts 動(dòng)態(tài)圖神器,日后學(xué)習(xí)了再一點(diǎn)點(diǎn)補(bǔ)充吧~

到此這篇關(guān)于python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)的文章就介紹到這了,更多相關(guān)python 可視化內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 2019在线亚洲成年视频网站 | 日韩欧美一区二区久久 | 男女交性拍拍拍高清视频 | 一级床上爽高清播放 | 视频国产91 | 黄色三级在线 | 成年女人毛片免费播放视频m | 欧美精品a毛片免费观看 | 久久久久久91香蕉国产 | 亚洲男人网 | 波多野结衣3女同在线观看 波多野结衣aⅴ在线 | 国产成人精品午夜二三区 | 在线观看国产一级强片 | 特级av毛片免费观看 | 一区二区三区四区视频在线 | japanesevideo乱子 japanese日本tube色系 | 免费观看国产网址你懂的 | 国产精品1区2区3区在线播放 | 国产自在自线午夜精品视频在 | 久久香蕉国产视频 | 女人张开腿让男人添 | 国产亚洲精品成人a在线 | 国产护士一级毛片高清 | 日韩欧美在线视频观看 | 99热.com| 嫩草影院ncyy在线观看 | 黄色美女视频免费 | 国产亚洲精品午夜高清影院 | 亚洲第一视频网站 | 精品国产三级a | 国产精品1区2区3区 国产精品1区2区3区在线播放 | 九色97 | 日韩免费毛片全部不收费 | 日韩日b视频 | 手机看片av | 一区二区三区免费高清视频 | 亚洲欧美中文日韩在线v日本 | 三级视频网站在线观看播放 | 亚洲免费网址 | 欧美极品video粗暴 | 欧美一级黄 |