matplotlib 視覺化函式總結

2021-10-20 14:29:10 字數 3353 閱讀 4216

1.畫餅圖

plt.pie(x, explode=none, labels=none, colors=none, autopct=none, pctdistance=0.6, shadow=false,

labeldistance=1.1, startangle=none, radius=none, counterclock=true, wedgeprops=none,

textprops=none, center=(0, 0), frame=false)

import matplotlib.pyplot as plt

# 設定繪圖的主題風格(不妨使用r中的ggplot分隔)

plt.style.use('ggplot')

# 構造資料

edu = [0.2515,0.3724,0.3336,0.0368,0.0057]

labels = ['中專','大專','本科','碩士','其他']

explode = [0,0.1,0,0,0] # 用於突出顯示大專學歷人群

colors=['#9999ff','#ff9999','#7777aa','#2442aa','#dd5555'] # 自定義顏色

# 中文亂碼和座標軸負號的處理

plt.rcparams['font.sans-serif'] = ['microsoft yahei']

plt.rcparams['axes.unicode_minus'] = false

# 將橫、縱座標軸標準化處理,保證餅圖是乙個正圓,否則為橢圓

plt.axes(aspect='equal')

# 控制x軸和y軸的範圍

plt.xlim(0,4)

plt.ylim(0,4)

# 繪製餅圖

plt.pie(x = edu, # 繪圖資料

explode=explode, # 突出顯示大專人群

labels=labels, # 新增教育水平標籤

colors=colors, # 設定餅圖的自定義填充色

autopct='%.1f%%', # 設定百分比的格式,這裡保留一位小數

pctdistance=0.8, # 設定百分比標籤與圓心的距離

labeldistance = 1.15, # 設定教育水平標籤與圓心的距離

startangle = 180, # 設定餅圖的初始角度

radius = 1.5, # 設定餅圖的半徑

counterclock = false, # 是否逆時針,這裡設定為順時針方向

wedgeprops = ,# 設定餅圖內外邊界的屬性值

textprops = , # 設定文字標籤的屬性值

center = (1.8,1.8), # 設定餅圖的原點

frame = 1 )# 是否顯示餅圖的圖框,這裡設定顯示

# 刪除x軸和y軸的刻度

plt.xticks(())

plt.yticks(())

# 新增圖標題

plt.title('芝麻信用失信使用者教育水平分布')

# 顯示圖形

plt.show()

2.柱形圖加上標註

**# encoding:utf-8 import matplotlib.pyplot as plt # 構建資料 gdp = [12406.8,13908.57,9386.87,9143.64] # 中文亂碼的處理 plt.rcparams['font.sans-serif'] =['microsoft yahei'] plt.rcparams['axes.unicode_minus'] = false # 繪圖 plt.bar(range(4), gdp, align = 'center',color='steelblue', alpha = 0.8) # 新增軸標籤 plt.ylabel('gdp') # 新增標題 plt.title('comparing about four cities gdp') # 新增刻度標籤 plt.xticks(range(4),['beijing','shanghai','tianjin','chongqing']) # 設定y軸的刻度範圍 plt.ylim([5000,15000]) # 為每個條形圖新增數值標籤 for x,y in enumerate(gdp): plt.text(x,y+100,'%s' %round(y,1),ha='center')# 顯示圖形plt.show() plt.show()

3.subplots 新增總標題

fig,ax=plt.subplots(4,2,figsize=(20,5))

fig.suptitle('the subscription rate of the catgories for catgory features')

4.seaborn

5.subplots

seaborn 畫subplots:

subplots子圖:

from matplotlib.ticker import multiplelocator

fig,ax=plt.subplots(4,2,figsize=(20,5))

#調整每個子圖的大小

fig.set_size_inches(20,12)

#調整子圖之間上下距離,wspace調整子圖左右的間距

plt.subplots_adjust(hspace=1)

#顏色選擇

p = sns.color_palette()

job=dataset['job'].value_counts().reset_index()

job.columns=['jobs','counts']

ax[0][0].bar(job.jobs,job.counts)

#子圖的橫縱座標的字型以及傾斜程度,顏色

ax[0][0].tick_params(labelsize=13,rotation=20,color=p[0])

#設定密度

ax[0][0].xaxis.set_major_locator(multiplelocator(2))

#子圖的子標題

ax[0][0].set_title("job_counts")

6.facet和kdeplot

不同的標籤之間的交點可以用來做連續型變數的分割點

#畫概率密度曲線

for i,feat in enumerate(num_features[0:5]):

facet= sns.facetgrid(dataset,hue='y',size=6).map(sns.kdeplot,'%s'%feat,shade = true,ax=axes[i]).add_legend()

#標題facet.set(title='fff')

6.堆疊條形圖:

age=pd.crosstab(dataset['age_type'],dataset['y'])

matplotlib視覺化(一)

關於figure 乙個figure代表乙個視窗,可以有多個figure,乙個figure下可有多個圖形 1.多個視窗 import numpy as np import matplotlib.pyplot as plt x np.linspace 3,3,50 y1 2 x 1 y2 x 2 plt...

Matplotlib 資料視覺化

資料視覺化,更有意義的說法是,data communication for audiences。matplotlib總是因為它的aesthetics和amounts of codes被些許詬病。然而,我覺得熟練的使用之後,它的靈活性還是比較強的 相比ggplot 所以這篇文章的適合讀者是 具體的實現...

資料視覺化 matplotlib

直方圖plt.hist 資料,分組數,density true 複製 條形圖plt.bar x,y,color 顏色 plt.barh 複製 散點圖plt.scatter x,y 複製 折線圖 繪製多個圖形,多次plot plt.plot x,y,label 標籤 複製 通用操作plt.figure...