Python繪圖筆記:繪製有趨勢線的直方圖、小提琴圖和誤差圖

2020-12-08 ACGN漫步者

1.小提琴圖和箱線圖

#同時繪製箱線圖和小提琴圖,箱線圖清楚地展示了所繪製的數據集中的四分位數和離群點#小提琴圖則清晰展示了數據集中的分布情況import matplotlib.pyplot as pltimport numpy as np#生成圖紙,繪製一行兩列兩個子圖,圖紙的尺寸設置fig,axes=plt.subplots(nrows=1,ncols=2,figsize=(8,4))#生成導入數據,符合正態分布,(均值,標準差,生成數據的個數),標準差遍歷6,7,8,9(range(6,10))some_data=[np.random.normal(0,std,100) for std in range(6,10)]#繪製第一幅子圖:小提琴圖。要繪製的數據集就是some_data#showmeans:是否顯示均值,showextrema:是否顯示極值,showmedians:是否顯示中位數axes[0].violinplot(some_data,showmeans=True,showmedians=True)axes[0].set_title('xiaotiqin plot')#箱線圖axes[1].boxplot(some_data)axes[1].set_title('xiangxian plot')#對兩幅圖的坐標軸細節進行設置for ax in axes:#顯示橫向網格線 ax.yaxis.grid(True) ax.set_xticks([y+1 for y in range(len(some_data))]) ax.set_xlabel('xlabel') ax.set_ylabel('ylabel')#用setp()命令來進行設置,該命令可以對一個列表或者單個對象進行設置#對坐標軸上的刻度和刻度標籤進行設置plt.setp(axes,xticks=[y+1 for y in range(len(some_data))], xticklabels=['x1','x2','x3','x4'])plt.show()

figure1

2.簡單誤差圖

import numpy as npimport matplotlib.pyplot as plt#x:起始點,終止點,步長;設置y公式,使x,y關聯起來x=np.arange(0.0,5,0.5)y=np.exp(-x**0.5)#生成圖紙fig,ax=plt.subplots()#繪製誤差圖,xerr表示橫向的左右偏差,yerr表示縱向的上下偏差#沒有進行具體設定的情況下,左右偏差一致;上下誤差一致ax.errorbar(x,y,xerr=0.4,yerr=0.6)plt.show()

figure2

3.複雜一些的誤差圖

import numpy as npimport matplotlib.pyplot as plt#生成x數據集,y公式,橫向誤差和縱向誤差x=np.array([0.4,0.9,1.4,1.9,2.4,2.9,3.4,3.9,4.4,4.9])y=np.exp(-x**2)xerr=0.2yerr=0.3#設置誤差的上下限以及需要繪製的曲線的類型lolims=np.array([0,1,0,1,1,0,1,0,1,1],dtype=bool)uplims=np.array([1,0,1,0,1,0,0,1,0,1],dtype=bool)linestyle='dotted'#生成圖紙,繪製子圖,設置圖紙大小fig,ax=plt.subplots(figsize=(6,5))#繪製一幅標準的誤差圖,位於整個圖片的最下方ax.errorbar(x,y,xerr,yerr,linestyle=linestyle)#繪製一幅比上一幅圖y軸方向高一個單位(y+1)的誤差圖(x軸坐標相同)#以下繪圖依次類推,這幅圖包含了誤差上限ax.errorbar(x,y+1,xerr,yerr,uplims=uplims,linestyle=linestyle)#第三幅包含了誤差下限ax.errorbar(x,y+2,xerr,yerr,lolims=lolims,linestyle=linestyle)#第四幅圖包含了誤差的上下限,並設置了標記ax.errorbar(x,y+3,xerr,yerr,lolims=lolims,uplims=uplims,linestyle=linestyle,marker='o',markersize=6)#shape函數是numpy.core.fromnumeric中的函數,它的功能是讀取矩陣的長度xerr=0.3yerr=np.zeros(x.shape)+0.3yerr[[3,6]]=0.4#通過修改以前的數據來模擬一些限制xlowerlims=lolimsxupperlims=uplimslolims=np.zeros(x.shape)uplims=np.zeros(x.shape)lolims[[6]]=Trueuplims[[6]]=True#正常顯示中文,針對標題plt.rcParams['font.sans-serif'] = ['SimHei']ax.errorbar(x,y+4,xerr,yerr,lolims=lolims,uplims=uplims, xlolims=lolims,xuplims=uplims,linestyle='none', marker='o',markersize=6)ax.set_xlim((0,6))ax.set_title('誤差條形圖的上下限')plt.show()

figure3

4.帶有趨勢線的直方圖

import numpy as npimport matplotlib.mlab as mlabimport matplotlib.pyplot as plt#作用:使得隨機數據可預測。設置相同的seed,每次生成的隨機數相同。# 如果不設置seed,則每次會生成不同的隨機數np.random.seed(0)#設置正態分布的均值和標準差,mu = 200sigma = 25#在均值周圍產生符合正態分布的x值x = mu + sigma * np.random.randn(437)num_bins = 50#生成圖紙fig, ax = plt.subplots()#輸入直方圖的繪圖數據:#直方圖函數,x為x軸的值,normed=1表示為概率密度,即和為一# 深藍色方塊,透明度參數0.8.返回n個概率,直方塊左邊線的x值,及各個方塊對象n, bins, patches = ax.hist(x, num_bins, normed=1,facecolor='darkblue', alpha=0.8)#增加一條最佳的趨勢線y = mlab.normpdf(bins, mu, sigma)ax.plot(bins, y, '--')ax.set_xlabel('Smarts')ax.set_ylabel('Probability density')ax.set_title(r'Histogram of IQ: $\mu=200$, $\sigma=25$')#自動調整子圖參數,使之填充整個圖像區域fig.tight_layout()plt.show()

figure4

相關焦點

  • Python繪圖筆記:繪製四色散點圖和誤差條形圖
    figure1#導入繪製散點圖所需要的包import matplotlib.pyplot as pltfrom numpy.random import rand#生成繪圖所需的圖紙fig, ax = plt.subplots
  • python可視化(三)seaborn單變量分析繪圖(直方圖、條形圖)
    在前面兩篇文章中,我們已經學習了seaborn繪圖的風格和顏色設置,從本篇文章開始,我們開始選一些有意思的數據集進行各種圖形繪製,在實踐中感受數據可視化的魅力。本篇文章主要講2個繪圖函數,那就是繪製直方圖的函數seaborn,distplot()和繪製條形圖的函數seaborn.barplot()(關於直方圖和條形圖的區別請查閱前面matplotlib系列中的相關文章)。處理繪圖數據今天我們用直方圖和條形圖展示下NBA2017-2018賽季各球員薪資情況。
  • 如何用matplotlib繪圖呢?
    使用過python做數據分析的小夥伴都知道,matplotlib是一款命令式、較底層、可定製性強、圖表資源豐富、簡單易用、出版質量級別的python 2D繪圖庫。matplotlib算是python繪圖的元老級庫,類似程式語言裡的C語言。
  • 箱形圖、小提琴圖、直方圖……統統可以卡通化!
    分布族這是一個幸福的大家庭——箱形圖、直方圖、小提琴圖、箱形圖。雖然它們長相各異,但如果深入了解,你就會發現每種圖形都以相似的方式揭示數據集的構成。爸爸媽媽:箱形圖Borat和Wanda這個圖表家庭會告訴你,用大量不同的數據樣本測量同一個值的意義何在。
  • OpenCV-Python 直方圖-1:查找、繪製和分析|二十六
    目標學會使用OpenCV和Numpy函數查找直方圖使用OpenCV和Matplotlib函數繪製直方圖你將看到以下函數:cv.calcHist(),np.histogram理論那麼直方圖是什麼?您可以將直方圖視為圖形或繪圖,從而可以總體了解圖像的強度分布。它是在X軸上具有像素值(不總是從0到255的範圍),在Y軸上具有圖像中相應像素數的圖。這只是理解圖像的另一種方式。通過查看圖像的直方圖,您可以直觀地了解該圖像的對比度,亮度,強度分布等。
  • Python繪圖筆記:繪製等高線圖和交叉區域圖
    Z=process_signals(X,Y)#對N的取值範圍和步長進行設置N=np.arange(-1,1.5,0.1)#函數contour用來繪製等高線CS=plt.contour(Z,N,linewidths=2,cmap=mpl.cm.jet)#繪製等高線標籤,inline=True表示高度寫在等高線上plt.clabel(CS,inline=True,fmt='%1.1f',fontsize
  • Matplotlib庫繪製直方圖
    繪製直方圖直方圖由豎立在x軸上的多個相鄰的矩形組成,這些矩形把x軸拆分為一段段彼此不重疊的線段(線段兩個端點所標識的數據範圍也叫面元),矩形的面積跟落在其所對應的面元的元素數量成正比。pyplot用於繪製直方圖的函數為hist( ),該函數具有一個其他繪圖函數所沒有的功能。它除了繪製直方圖外,還以元組形式返回直方圖的計算結果。事實上,hist( )函數還可以實現直方圖的計算。
  • Python學習第90課-數據可視化之散點圖繪製
    【每天幾分鐘,從零入門python編程的世界!】今天我們學習散點圖,在統計學或者機器學習方面,或者在金融風險控制方面,金融風險控制經常要看異常交易、信貸風險,做這樣的分析就要用到一個圖--散點圖(scatter plot)。
  • R語言繪圖基礎|直方圖和散點圖怎麼畫?
    作者:丁點helper來源: 丁點幫你前面2篇R語言相關的文章以鐵達尼號的數據為例,介紹了描述性統計中用到的計算操作,以及柱形圖的繪製操作。今天我們繼續聊聊如何在R中繪製直方圖和散點圖。繪製直方圖仍使用titanic.csv這個數據。
  • 使用R語言繪製直方圖
    在本號前面的文章中介紹了R語言中繪製散點圖,折線圖,條形圖,餅圖和箱線圖的方法,有興趣的讀者關注本號後,可以往前看本號的所有文章,本文將介紹在R中繪製直方圖的方法。直方圖概述直方圖(Histogram)又稱柱狀圖,是由一系列高度不等的縱條紋或線段表示的數據分布情況。
  • 分享ggpubr 包:教你繪製密度圖、直方圖、柱狀圖
    今天我們要分享的R包是 ggpubr 包,它是一款基於ggplot2的可視化包,功能非常強大,能夠一行命令繪製出符合出版物要求的圖形。ggpubr 包可繪製的圖形類型非常多,有密度圖、直方圖、柱狀圖、餅圖、棒棒糖圖、Cleveland 點圖、箱線圖、小提琴圖、點帶圖、點圖、散點圖、線圖、誤差棒圖……哈哈,有木有很期待接下來這個 ggpubr 包的學習了呢!
  • Python學習筆記:繪畫柱狀圖、誤差條形圖和餅狀圖
    #np、plt,均為簡化用法,方便下面的調用import numpy as npimport matplotlib.pyplot as plt#設置正態分布中的平均值和標準差mu=100sigma=15#隨機生成10000個正態分布公式的數值x=np.random.normal(mu,sigma,10000)#獲得當前的Axes對象axax=plt.gca()#繪製柱狀圖,顏色是黑色,bins表示柱狀圖的固定間隔
  • Python可視化很簡單,一文學會繪製柱狀圖、條形圖和直方圖
    、條形圖和直方圖相關的東東吧!>matplotlib.barh(x, y)參數x和參數y的含義和上面咱們所說的bar()函數參數的意思相同哦!執行以上命令,輸出如下條形圖哦:好啦,咱們了解了柱狀圖和條形圖之後,再一起了解一下直方圖哦!
  • OpenCV-Python 直方圖-3:二維直方圖|二十八
    目標在本章中,我們將學習查找和繪製2D直方圖。這將在以後的章節中有所幫助。介紹在第一篇文章中,我們計算並繪製了一維直方圖。 之所以稱為一維,是因為我們僅考慮一個特徵,即像素的灰度強度值。 但是在二維直方圖中,您要考慮兩個特徵。
  • Python學習第89課-數據可視化之直方圖繪製
    【每天幾分鐘,從零入門python編程的世界!】假設你想投資某一個城市的房地產,你肯定需要對這個城市的人口分布、增長潛力做一個調查,這時我們就需要做一個直方圖(histogram plot)。.,90-99歲裝到一個桶裡,即以10歲的間隔設置年齡段,以每一個年齡段為坐標畫一個柱狀圖,這些柱狀圖組合到一起,形成了直方圖。因此,我們大概可以這樣理解:直方圖就是把數據劃分區域後,以數據區域為節點繪製的柱狀圖的集合。
  • Python學習筆記:繪製極坐標圖和散點圖的繪製與保存
    1.簡單極坐標圖#導入繪製極圖所需要的包import matplotlib.pyplot as pltimport numpy as np#設置下面所需要的參數barSlices = 12#theta指每個標記所在射線與極徑的夾角,下面表示均分角度theta = np.linspace(0.0
  • Python可視化Seaborn庫詳解——繪圖方法
    其中,線性關系所涉及到的是折線圖和散點圖,這兩類圖形在日常運用中非常常見;分類關係主要是描述不同維度下數據的統計結果,如條形圖、箱圖等;組合關係就類似於高級程序語言,它是由不同的基礎圖形組合而來的。下面我們將一一介紹這些繪圖方法。
  • python可視化:matplotlib繪製直方圖進階篇!
    在上篇文章中介紹了直方圖的前五個參數,實際上直方圖一共有十幾個參數,剩下的參數利用這篇文章解釋清楚,讓大家能夠將如何繪製直方圖理解的透透的。bottom參數這個參數的含義也很直觀,底部的意思,指的是條形的底從哪裡開始。
  • 從零開始學Python可視化(二):掌握統計圖形的繪製
    折線圖和散點圖常用且實用,但是並不能滿足我們的作圖需求。這次我們會嘗試更多常見的統計圖形,比如條形圖、直方圖、餅圖等,我們的目標是掌握工作學習過程中使用最頻繁的圖形技能。1. 柱狀圖(條形圖) —— bar() / barh()柱狀圖又叫條形圖,用於繪製定性(分類)數據的分布特徵,比如不同國家的GDP、不同年齡段的平均體重等。
  • python學習筆記:同時畫多圖,折線圖,箱線圖,條形圖,柱狀圖等
    1.同時畫六張圖#從Matplotlib中導入了pyplot繪圖模塊from matplotlib.pyplot import *#設置相關的數值x=[1,2,3,4]y=[5,4,3,2]#創建一個圖紙(figure)figure()#使用subplot創建多個子圖,下面的subplot(2,3,1)表示創建一個包含2行3列圖表的圖紙,1表示第一張圖subplot