真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用python怎么實(shí)現(xiàn)一個可視化分析功能-創(chuàng)新互聯(lián)

這篇文章給大家介紹使用python怎么實(shí)現(xiàn)一個可視化分析功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、科爾沁右翼前網(wǎng)站維護(hù)、網(wǎng)站推廣。

一、matplotlib庫

1、基本繪圖命令

import matplotlib.pyplot as plt
plt.figure(figsize=(5,4)) #設(shè)置圖形大小
plt.rcParams['axes.unicode_minus']=False #正常顯示負(fù)號
plt.rcParams['font.sans-self']=['Kai Ti'] #設(shè)置字體,這里是楷體,SimHei表示黑體

#基本統(tǒng)計圖
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)
線形和符號: 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)
#一頁多圖
fig,ax=plt.subplots(2,2,figsize=(15,12)) # 2行2列放4個圖,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)格
- (一個連字符)實(shí)線
– (兩個連字符)虛線
-.點(diǎn)劃線
點(diǎn)虛線
' '留空,空格

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

loc stringloc 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)計圖的繪制

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

import matplotlib.pyplot as plt   #加載基本繪圖包
plt.rcParams['font.sans-serif']=['SimHei']; #SimHei黑體
plt.rcParams['axes.unicode_minus']=False; #正常顯示圖中負(fù)號
import numpy as np #加載軟件包numpy
import math  #加載軟件包math
x=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 #對數(shù)函數(shù)
plt.plot(x,np.exp(x)) #y=e^x 指數(shù)函數(shù)

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

#極坐標(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)一個可視化分析功能

4.2 氣泡圖

import pandas as pd
df=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)一個可視化分析功能

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)一個可視化分析功能

二、seaborn庫

1、常用統(tǒng)計圖

1.1 箱線圖

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能

1.2 小提琴圖

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能

1.3 點(diǎn)圖

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能

1.4 條圖與計數(shù)圖

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能

1.5 分組圖

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能

1.6 概率分布圖

#displot:直方圖+密度函數(shù),bins表示分的組數(shù),kde=False表示不畫出密度曲線,rug表示有數(shù)據(jù)的地方就標(biāo)注出來
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)一個可視化分析功能

2、聯(lián)合圖

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能

3、配對圖

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能

三、ggplot庫

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

1、圖層畫法+常用圖形

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

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能


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

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能


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

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能


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

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

使用python怎么實(shí)現(xiàn)一個可視化分析功能


此外,+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')

關(guān)于使用python怎么實(shí)現(xiàn)一個可視化分析功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網(wǎng)站名稱:使用python怎么實(shí)現(xiàn)一個可視化分析功能-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://weahome.cn/article/ddihsg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部