最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python?matplotlib繪畫十一種常見數(shù)據(jù)分析圖

 更新時間:2022年06月21日 11:19:45   投稿:hqx  
這篇文章主要介紹了python?matplotlib繪畫十一種常見數(shù)據(jù)分析圖,文章主要繪制折線圖、散點圖、直方圖、餅圖等需要的小伙伴可以參考一下文章具體內(nèi)容

1. 折線圖

折線圖(Line Chart)是一種將數(shù)據(jù)點按照順序連接起來的圖形,也可以看作是將散點圖按照X軸坐標順序鏈接起來的圖形。折線圖的主要功能是查看因變量y隨著自變量x改變的趨勢,最適合用于顯示隨時間(根據(jù)常用比例設置)而改變的連續(xù)數(shù)據(jù)。同時,還可以看出數(shù)量的差異

繪制折線圖plot的格式:

matplotlib.pyplot.plot(*args,**kwargs)

color參數(shù)的8種常用的縮寫見表

表2 color參數(shù)的常用顏色縮寫:

plt.plot繪制折線圖代碼展示:

import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
x = np.arange(9)
y = np.sin(x)
z = np.cos(x)
#marker數(shù)據(jù)點樣式,linewidth線寬,linestyle線型樣式,color顏色
plt.plot(x,y,marker='*',linewidth=1,linestyle='--',color='orange')
plt.plot(x,z)
plt.title('matplotlib AK')
plt.xlabel('height',fontsize=15)
plt.ylabel('width',fontsize=15)
#設置圖例
plt.legend(['Y','Z'],loc='upper right')
plt.grid(True)
plt.show()

2. 散點圖

散點圖(Scatter Diagram)又稱為散點分布圖,是以一個特征為橫坐標,另一個特征為縱坐標,使用坐標點(散點)的分布形態(tài)反映特征間統(tǒng)計關系的一種圖形。值時由點在圖表中的位置表示,類別是由圖表中的不同標記表示 ,通常用于比較跨類別的數(shù)據(jù)

 scatter方法的格式:

 matplotlib.pyplot.scatter(x,y,s=None,c=None,marker=None,alpha=None)

scatter函數(shù)主要參數(shù)及其說明見表3scatter的主要參數(shù)及其說明

scatter繪圖示例1:

fig.ax = plt.subplots()
plt.rcParams['font.family'] = ['SimHei']      #用來顯示中文標簽
plt.rcParams['axes.unicode_minus'] = False   #用來正常顯示符號
x1 = np.arange(1,30)
y1 = np.sin(x1)
ax1 = plt.subplot(1,1,1)
plt.title('散點圖 AK')
plt.xlabel('X')
plt.ylabel('Y')
lvalue = x1
ax1.scatter(x1,y1,c='r',s=100,linewidths=lvalue,marker='o')
plt.legend('x1')
plt.show(),

 scatter繪圖示例2:

fig,ax = plt.subplots()
plt.rcParams['font.family'] = ['SimHei']      #用來顯示中文標簽
plt.rcParams['axes.unicode_minus'] = False   #用來正常顯示符號
for color in ['red','green','blue']:
    n = 500
    x,y = np.random.randn(2,n)
    ax.scatter(x,y,c=color,label=color,alpha=0.3,edgecolor='none')
ax.legend()
ax.grid(True)
plt.show()

3. 直方圖 

直方圖(Histogram)又稱質(zhì)量分布圖,是統(tǒng)計報告圖的一種,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況,一般用橫軸表示數(shù)據(jù)所屬類別,縱軸表示數(shù)量或者占比。用直方圖可以比較直觀地看出產(chǎn)品質(zhì)量特性的分布狀態(tài),便于判斷其總體質(zhì)量分布情況。直方圖可以發(fā)現(xiàn)分布表無法發(fā)現(xiàn)的數(shù)據(jù)模式、樣本的頻率分布和總體的分布。

繪制直方圖函數(shù)bar格式:

matplotlib.pyplot.bar(left,height,width = 0.8,bottom = None,hold = None,data = None)

函數(shù)bar的常用參數(shù)及其說明見下表4

表4 bar常用參數(shù)及其說明:

bar繪圖示例1:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
fig,axes = plt.subplots(2,1)
data = pd.Series(np.random.randn(16),index=list('abcdefghijklmnop'))
data.plot.bar(ax = axes[0],color='k',alpha=0.7)
data.plot.barh(ax = axes[1],color='k',alpha=0.7)

bar繪圖示例2:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family'] = ['SimHei']      #用來顯示中文標簽
plt.rcParams['axes.unicode_minus'] = False   #用來正常顯示符號
fig,ax = plt.subplots()
x = np.arange(1,6)
y1 = np.random.uniform(1.5,1.0,5)
y2 = np.random.uniform(1.5,1.0,5)
plt.bar(x,y1,width = 0.35,facecolor='lightskyblue',edgecolor = 'white')
plt.bar(x+0.35,y2,width = 0.35,facecolor='yellowgreen',edgecolor = 'white')
plt.show()

4. 餅圖

 餅圖(Pie Graph)用于表示不同分類的占比情況,通過弧度大小來對比各種分類,餅圖可以比較清楚的反映出部分與部分、部分與整體之間的比例關系,易于顯示每組數(shù)據(jù)相對于總數(shù)的大小,而且顯現(xiàn)的方式直觀。

繪制餅圖pie方法的格式:

matplotlib.pyplot.pie(x,explode = None,labels = None,color = None,autopct = None,
pctdistance = 0.6,shadow=false,labeldistance=1.1,startangle=None,radius=None,...)

pie函數(shù)常用參數(shù)及其說明見表5

表5 pie函數(shù)常用參數(shù)及其說明:

pie繪圖示例:

plt.figure(figsize=(6,6))
#建立軸的大小
labels = ['Springs','Summer','Autumn','Winter']
x = [15,30,45,10]
explode = (0.05,0.05,0.05,0.05)
#這個是控制分離的距離的,默認餅圖不分離
plt.pie(x,labels = labels,explode = explode,startangle = 60,autopct='%1.1f%%')
#autopct在圖中顯示比例值,注意值的格式
plt.title('Rany days by season')
plt.show()

5. 箱線圖 

箱線圖(Boxplot)也稱盒須圖,通過繪制反映數(shù)據(jù)分布特征的統(tǒng)計量,提供有關數(shù)據(jù)位置和分散情況的關鍵信息,尤其在比較不同特征時,更可表現(xiàn)其分散程度差異。箱線圖使用數(shù)據(jù)中的5個統(tǒng)計量(最小值,下四分位數(shù),中位數(shù),上四分位數(shù)和最大值)來描述數(shù)據(jù),它可以粗略地看出數(shù)據(jù)是否具有對稱性,分布的分散程度等信息,特別可以用于對幾個樣本的比較,還可以粗略檢測異常值。

boxplot函數(shù)的格式:

matplotlib.pyplot.boxplot(x,notch = None,sym = None,vert = None,whis = None,
positions = None,width = None,patch_artist = None,
meanline = None,labels = None,...)

boxplot函數(shù)常用參數(shù)及其說明見表6

表6 boxplot函數(shù)常用參數(shù)及其說明:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
np.random.seed(2)#設置隨機種子
df = pd.DataFrame(np.random.rand(5,4),columns = ['A','B','C','D'])
#生成0~1的5*4維度數(shù)據(jù)并存入4列DataFrame中
df.boxplot()
plt.show()

6.概率圖 

概率圖模型時圖靈獲得者Pearl提出的用來表示變量間概率依賴關系的理論,正態(tài)分布又名高斯分布。正太概率密度函數(shù)normpdf(X,mu,sigma),其中,X為向量,mu為均值,sigma為標準差。

繪制概率圖:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy.stats import norm
fig,ax = plt.subplots()
plt.rcParams['font.family'] = ['SimHei']      #用來顯示中文標簽
plt.rcParams['axes.unicode_minus'] = False   #用來正常顯示符號
np.random.seed(1587554)
mu = 100
sigma = 15
x = mu+sigma*np.random.randn(437)
num_bins = 50
n,bins,patches = ax.hist(x,num_bins,density=1,stacked=True)
y = norm.pdf(bins,mu,sigma)
ax.plot(bins,y,'--')
fig.tight_layout()
plt.show()

7.雷達圖 

 雷達圖也稱網(wǎng)絡圖、星圖、蜘蛛網(wǎng)圖、不規(guī)則多邊形、極坐標圖等。雷達圖是以從同一點開始的軸上表示的三個或更多個定量變量的二維圖表的形式顯示多變量數(shù)據(jù)的圖形方法。軸的相對位置和角度通常是無信息的。雷達圖相當于平行坐標圖,軸徑向排列。

繪制某學生成績信息的雷達圖

import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
#某學生的課程與成績
courses = ['數(shù)據(jù)結(jié)構','數(shù)據(jù)可視化','高數(shù)','英語','軟件工程','組成原理','C語言','體育']
scores = [82,95,78,85,45,88,76,88]
dataLength = len(scores) #數(shù)據(jù)長度
#angles數(shù)組把圓周等分為dataLength份
angles = np.linspace(0,2*np.pi,dataLength,endpoint=False)
scores.append(scores[0])
angless = np.append(angles,angles[0])  #閉合
#繪制雷達圖
plt.polar(angless,   #設置角度
      scores,   #設置各個角度上的數(shù)據(jù)
      'rv--',   #設置顏色、線型和端點符號
      linewidth=2)  #設置線寬
#設置角度網(wǎng)絡標簽
plt.thetagrids(angles*180/np.pi,courses,fontproperties='simhei',fontsize=12,color='k')
#填充雷達圖內(nèi)部
plt.fill(angless,scores,facecolor='g',alpha=0.2)
plt.show()

8.流向圖 

在運輸問題中,常常需要表明產(chǎn)地的產(chǎn)量、銷地的銷量,以及流向和流量的交通圖,此時可以用到流向圖。流向圖能夠直觀地展示數(shù)據(jù)流向,揭示出運動中的一些規(guī)律或現(xiàn)象。

流向圖繪制:

import numpy as np
import matplotlib.pyplot as plt
Y,X = np.mgrid[-3:3:100j,-3:3:100j]
U = -1-X**2+Y
V = 1+X-Y**2
speed = np.sqrt(U*U+V*V)
plt.streamplot(X,Y,U,V,color=U,linewidth = 2,cmap = plt.cm.autumn)
plt.colorbar()
f,(ax1,ax2) = plt.subplots(ncols=2)
ax1.streamplot(X,Y,U,V,density=[0.5,1])
lw = 5*speed/speed.max()
ax2.streamplot(X,Y,U,V,density=0.6,color='k',linewidth=lw)
plt.show()

9.繪圖中的表格設置 

在繪圖中,有時候需要同時顯示數(shù)據(jù)表格。Matplotlib在繪圖中提供了table方法可以同時顯示數(shù)據(jù)表格

在繪圖中顯示數(shù)據(jù)表格;

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['SimHei']
data = [[66386,174296,75131,577908,32015],
        [58230,381139,78045,99308,160454],
        [89135,80552,152558,497981,603535],
        [78415,81858,150656,193263,69638],
        [139361,331509,343164,781380,52269]]
columns = ('Freeze','Wind','Flood','Quake','Hail')
rows = ['%d year'% x for x in (100,50,20,10,5)]
values = np.arange(0,2500,500)
value_increment = 1000
colors = plt.cm.BuPu(np.linspace(0,0.5,len(columns)))
n_rows=len(data)
index = np.arange(len(columns))+0.3
bar_width=0.4
y_offset = np.array([0.0]*len(columns))
cell_text = []
for row in range(n_rows):
    plt.bar(index,data[row],bar_width,bottom=y_offset)
    y_offset = y_offset+data[row]
    cell_text.append(['%1.1f'%(x/1000.0) for x in y_offset])
colors = colors[::-1]
cell_text.reverse()
the_table = plt.table(cellText=cell_text,
                     rowLabels=rows,
                     rowColours = colors,
                     colLabels = columns,
                     loc = 'bottom')
plt.subplots_adjust(left=0.2,bottom=0.2)
plt.ylabel("Loss in ${0}'s".format(value_increment))
plt.yticks(values*value_increment,['%d' % val for val in values])
plt.xticks([])
plt.title('氣象災害損失')
plt.show()

10. 極坐標圖 

 在平面投影中,由X軸和Y軸定位坐標;而在極坐標投影中,需要以半徑和角度的形式定位坐標。極坐標投影中的半徑以圓半徑的大小顯示,并且以每個角度為0°的圓的角度為起點投影角度。要生成極坐標投影,需要將投影類型定義為極坐標。

繪制極坐標圖:

import numpy as np
import matplotlib.pyplot as plt
r = np.linspace(0,2,100)
theta = 2*np.pi*r
fig = plt.figure(figsize=(13,4))
ax1 = plt.subplot(121,projection='polar')
ax1.scatter(theta,r,label='Polar Projection',s=10)
ax1.legend(bbox_to_anchor=(0.85,1.35))
ax2 = plt.subplot(122)
ax2.scatter(theta,r,label='Polar Projection',s=10)
ax2.legend(bbox_to_anchor=(0.85,1.35))
ax2.set_xlabel('R')
ax2.set_ylabel(r'$\theta$')

11. 詞云圖 

詞云用于對網(wǎng)絡文本中出現(xiàn)頻率較高的關鍵詞予以視覺上的突出,形成“關鍵詞云層”或“關鍵詞渲染”,從而過濾掉大量的文本信息,使瀏覽網(wǎng)頁者只需要一眼掃過文本就可以領略文本的主旨。

11.1 安裝相關的包

 繪制詞需要WordCloud和jieba包。jieba用于從文本的句子里分割出詞匯。

兩個包的安裝語句:

pip install wordcloudpip install jieba

11.2 詞云生成過程

一般生成詞云的過程為:

  • 1)使用Pandas讀取數(shù)據(jù)并將需要分析的數(shù)據(jù)轉(zhuǎn)化為列表
  • 2)對獲得的列表數(shù)據(jù)使用分詞工具jieba進行遍歷分詞
  • 3)使用WordCloud設置詞云圖片的屬性、掩碼和停用詞,并生成詞云圖像。

到此這篇關于python matplotlib繪畫十一種常見數(shù)據(jù)分析圖的文章就介紹到這了,更多相關python matplotlib 繪圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python讀取文件內(nèi)容的三種常用方式及效率比較

    Python讀取文件內(nèi)容的三種常用方式及效率比較

    這篇文章主要介紹了Python讀取文件內(nèi)容的三種常用方式及效率比較,結(jié)合具體實例形式給出了三種文件讀取的常見方法并對比分析了讀取速度,需要的朋友可以參考下
    2017-10-10
  • Python Socketserver實現(xiàn)FTP文件上傳下載代碼實例

    Python Socketserver實現(xiàn)FTP文件上傳下載代碼實例

    這篇文章主要介紹了Python Socketserver實現(xiàn)FTP文件上傳下載代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • Python模塊學習之struct模塊詳解

    Python模塊學習之struct模塊詳解

    這篇文章主要介紹了Python模塊學習之struct模塊詳解,該模塊作用是完成Python數(shù)值和C語言結(jié)構體的Python字符串形式間的轉(zhuǎn)換,這可以用于處理存儲在文件中或從網(wǎng)絡連接中存儲的二進制數(shù)據(jù),以及其他數(shù)據(jù)源,需要的朋友可以參考下
    2023-07-07
  • 簡單上手Python中裝飾器的使用

    簡單上手Python中裝飾器的使用

    這篇文章主要介紹了Python中裝飾器的使用,是Python進階學習中的重要知識,需要的朋友可以參考下
    2015-07-07
  • Python功能鍵的讀取方法

    Python功能鍵的讀取方法

    這篇文章主要介紹了Python功能鍵的讀取方法,涉及Python鍵盤事件的相關操作技巧,需要的朋友可以參考下
    2015-05-05
  • 只用四步修改jupyter的工作路徑/存儲路徑

    只用四步修改jupyter的工作路徑/存儲路徑

    為了方便用戶使用以及減少系統(tǒng)盤的占用,可以將Jupyter的默認工作路徑修改到電腦中常用的路徑中,這篇文章主要給大家介紹了關于如何只用四步修改jupyter的工作路徑/存儲路徑的相關資料,需要的朋友可以參考下
    2023-12-12
  • python 實現(xiàn)全球IP歸屬地查詢工具

    python 實現(xiàn)全球IP歸屬地查詢工具

    這篇文章主要介紹了python 實現(xiàn)全球IP歸屬地查詢工具的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python numpy 模塊介紹

    Python numpy 模塊介紹

    這篇文章主要介紹了Python numpy 模塊,在motplotlib的學習過程中,我們使用最多的就是numpy模塊。下面我們將使用numpy進行創(chuàng)建數(shù)組、切片、索引、廣播等功能實操,需要的朋友可以參考一下
    2022-01-01
  • python獲取一組漢字拼音首字母的方法

    python獲取一組漢字拼音首字母的方法

    這篇文章主要介紹了python獲取一組漢字拼音首字母的方法,涉及Python針對漢字操作的相關技巧,需要的朋友可以參考下
    2015-07-07
  • 詳解Python NumPy中矩陣和通用函數(shù)的使用

    詳解Python NumPy中矩陣和通用函數(shù)的使用

    在NumPy中,矩陣是ndarray的子類,與數(shù)學概念中的矩陣一樣,NumPy中的矩陣也是二維的,可以使用 mat 、 matrix 以及 bmat 函數(shù)來創(chuàng)建矩陣。本文將詳細講解NumPy中矩陣和通用函數(shù)的使用,感興趣的可以了解一下
    2022-06-06

最新評論

资溪县| 清徐县| 鄂托克前旗| 门头沟区| 洞头县| 荔浦县| 长沙县| 渭南市| 启东市| 贵德县| 柳江县| 壶关县| 于田县| 东乌珠穆沁旗| 延津县| 张掖市| 乐昌市| 阿拉善左旗| 靖远县| 荣成市| 富蕴县| 乡宁县| 扎鲁特旗| 溆浦县| 桂林市| 湛江市| 精河县| 彰化县| 贵定县| 天柱县| 潢川县| 吉林省| 出国| 阿尔山市| 盐山县| 黄大仙区| 房产| 拉萨市| 浙江省| 阿图什市| 应城市|