Python?matplotlib?繪制散點(diǎn)圖詳解建議收藏
前言
我們?cè)趍atplotlib模塊學(xué)習(xí)中,發(fā)現(xiàn)有常用的反映數(shù)據(jù)變化的折線圖,對(duì)比數(shù)據(jù)類型差異的柱狀圖和反應(yīng)數(shù)據(jù)頻率分布情況的直方圖。
往期內(nèi)容速看
Python?matplotlib超詳細(xì)教程實(shí)現(xiàn)圖形繪制
其實(shí)在數(shù)據(jù)統(tǒng)計(jì)圖表中,有一種圖表是散列點(diǎn)分布在坐標(biāo)中,反應(yīng)數(shù)據(jù)隨著自變量變化的趨勢(shì)。
本期,我們將詳細(xì)學(xué)習(xí)matplotlib 繪制散點(diǎn)圖相關(guān)屬性的學(xué)習(xí),let's go~
1. 散點(diǎn)圖概述
什么是散點(diǎn)圖?
- 散點(diǎn)圖用于在水平軸和垂直軸上繪制數(shù)據(jù)點(diǎn),數(shù)據(jù)以點(diǎn)狀分布在左標(biāo)系中
- 散點(diǎn)圖表示因變量隨著自變量而變化的大致趨勢(shì)
- 散點(diǎn)圖由多個(gè)左坐標(biāo)點(diǎn)構(gòu)成,考察坐標(biāo)點(diǎn)的分布,判斷是否存在某種關(guān)聯(lián)或者分布模式
- 對(duì)于不同類別的點(diǎn),則由圖表中不同形狀或顏色的標(biāo)記符表示
- 散點(diǎn)圖主要分為散點(diǎn)圖矩陣、三維散點(diǎn)圖、ArcGIS散點(diǎn)圖
散點(diǎn)圖使用場(chǎng)景
- 散點(diǎn)圖用于比較跨類別的聚合數(shù)據(jù)
- 散點(diǎn)圖用于分析數(shù)據(jù)線性、多項(xiàng)式趨勢(shì)情況
- 散點(diǎn)圖用于四象限分析
- 散點(diǎn)圖用于找到數(shù)據(jù)趨勢(shì)公式
- 散點(diǎn)圖可以為后期精確的圖標(biāo)進(jìn)行輔助
繪制散點(diǎn)圖步驟
- 導(dǎo)入matplotlib.pyplot模塊
- 準(zhǔn)備數(shù)據(jù),可以使用numpy/pandas整理數(shù)據(jù)
- 調(diào)用pyplot.scatter()繪制散點(diǎn)圖
案例展示
本次案例我們將分析某產(chǎn)品不同定價(jià)銷售額分布情況
案例需要準(zhǔn)備兩組數(shù)據(jù)x和y軸,其中x,y軸的數(shù)據(jù)量要保持一致
x_value = np.random.randint(50,100,50) y_value = np.random.randint(500,1000,50)
繪制散點(diǎn)
import matplotlib.pyplot as plt import numpy as np plt.rcParams["font.sans-serif"]=['SimHei'] plt.rcParams["axes.unicode_minus"]=False x_value = np.random.randint(50,100,50) y_value = np.random.randint(500,1000,50) plt.scatter(x_value,y_value) plt.title("data analyze") plt.xlabel("銷售價(jià)格") plt.ylabel("銷售額") plt.show()
?2. 散點(diǎn)圖屬性
設(shè)置散點(diǎn)大小
關(guān)鍵字:s
傳入數(shù)據(jù)類型為list或者數(shù)字,默認(rèn)為20
設(shè)置散點(diǎn)顏色
關(guān)鍵字:c
默認(rèn)顏色為藍(lán)色
取值范圍
- 表示顏色的英文單詞:如紅色"red"
- 表示顏色單詞的簡(jiǎn)稱如:紅色"r",黃色"y"
- RGB格式:十六進(jìn)制格式如"#88c999";(r,g,b)元組形式
- 也可以傳入顏色列表
設(shè)置散點(diǎn)樣式
關(guān)鍵字:marker
系統(tǒng)默認(rèn)為'o'小圓圈
取值還可以?。?'o', 'v', '^', '<', '>', '8', 's', 'p', '*', 'h', 'H', 'D', 'd', 'P', 'X')
設(shè)置透明度
關(guān)鍵字:alpha
取值范圍:0~1
設(shè)置散點(diǎn)邊框
關(guān)鍵字: edgecolor
默認(rèn)為face
取值選項(xiàng):
- "face"|"none"
- 表示顏色的英文單詞、簡(jiǎn)寫或者rgb
我們結(jié)合上一節(jié)的案例,設(shè)置散點(diǎn)大小,散點(diǎn)邊框?yàn)榉凵Ⅻc(diǎn)顏色為#88c999
size = (20*np.random.rand(50))**2 plt.scatter(x_value,y_value,s=area,c="#88c999",edgecolors="pink"
3. 添加折線散點(diǎn)圖
我們?cè)诓榭瓷Ⅻc(diǎn)圖時(shí),有時(shí)候會(huì)借助折線圖來(lái)輔助分析。我們繼續(xù)拿第一節(jié)的數(shù)據(jù)來(lái)分析。
我們使用np.random.rand()來(lái)生成100個(gè)隨機(jī)數(shù)據(jù)
x_value = 100*np.random.rand(100) y_value = 100*np.random.rand(100)
需要借助我們高中的數(shù)學(xué)公司如sin\cos函數(shù)等(高中數(shù)學(xué)都還給老師了)
使用pyplot.plot()方法來(lái)繪制曲線圖
r0 = 80 plt.scatter(x_value,y_value,c="hotpink",edgecolors="blue") the = np.arange(0,np.pi/2, 0.01) plt.plot(r0*np.cos(the),r0*np.sin(the))
4. 多類型散點(diǎn)圖
我們?cè)谟^察數(shù)據(jù)的時(shí)候,會(huì)同時(shí)比較多個(gè)類型數(shù)據(jù),因此我們可以通過(guò)顏色或者散點(diǎn)樣式來(lái)區(qū)分表示
方式一: 使用顏色來(lái)區(qū)分不同類別時(shí),我們需要再添加新的數(shù)據(jù)和scatter方法
x_value = 100*np.random.rand(100) y_value = 100*np.random.rand(100) y1_value = 100*np.random.rand(100) plt.scatter(x_value,y_value, c="hotpink",edgecolors="blue",label="A產(chǎn)品") plt.scatter(x_value,y1_value, c="#88c999", edgecolors="y",label="B產(chǎn)品")
方式二:我們可以使用marker來(lái)標(biāo)記不同類型,例如我們使用上一節(jié)的案例再添加一個(gè)scatter()
r0 = 80 size = (20*np.random.rand(100))**2 r = np.sqrt(x_value**2+y_value**2) area = np.ma.masked_where(r > r0,size) area1 = np.ma.masked_where(r <= r0, size) plt.scatter(x_value,y_value,s=area,c="hotpink",edgecolors="blue",label="A產(chǎn)品") plt.scatter(x_value, y_value, s=area1, c="red", edgecolors="y",marker="^",label="B產(chǎn)品") the = np.arange(0,np.pi/2, 0.01) plt.plot(r0*np.cos(the),r0*np.sin(the))
5. 顏色條散點(diǎn)圖
在散點(diǎn)圖表中,我們?yōu)榱藢?duì)每個(gè)點(diǎn)顏色深淺進(jìn)行表示,我們可以借助cmap顏色條來(lái)進(jìn)行添加
- 顏色條顯示關(guān)鍵字:cmap
- 默認(rèn)為viridis,可選值如accent_r,blues_r,brbg_r,greens_r等等
- 表示每種顏色從0~100的值
當(dāng)要顯示顏色列表時(shí),我們需要調(diào)用pyplot.colorbar()
例如,我們對(duì)散點(diǎn)圖添加一個(gè)紅色系的顏色列表
size = (20*np.random.rand(100))**2 color = np.random.randint(0,100,100) plt.scatter(x_value,y_value, s=size, c=color,label="A產(chǎn)品",cmap="afmhot_r") plt.colorbar()
6. 曲線散點(diǎn)圖
散點(diǎn)圖都是由一個(gè)一個(gè)坐標(biāo)點(diǎn)組成的,當(dāng)這些點(diǎn)具有一定規(guī)律時(shí),我們可以使用散點(diǎn)圖來(lái)繪制曲線。
我們使用scatter()繪制一個(gè)2次方的冪函數(shù)
x_value = list(range(1, 100)) y_value = [x ** 2 for x in x_value] plt.scatter(x_value,y_value,c=y_value,cmap="hot_r",edgecolors="none",s=50) plt.show()
總結(jié)
本期,我們對(duì)matplotlib.pyplot 繪制散點(diǎn)圖scatter方法及相關(guān)屬性進(jìn)行詳細(xì)的學(xué)習(xí)。對(duì)于暫時(shí)沒(méi)有找到規(guī)律的數(shù)據(jù)來(lái)說(shuō),使用散點(diǎn)圖可以快速發(fā)現(xiàn)數(shù)據(jù)的分布情況?
以上就是Python matplotlib 繪制散點(diǎn)圖詳解建議收藏的詳細(xì)內(nèi)容,更多關(guān)于Python matplotlib 繪制散點(diǎn)圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python使用matplotlib繪制動(dòng)畫的方法
- python使用matplotlib繪制折線圖教程
- python使用matplotlib繪制柱狀圖教程
- python學(xué)習(xí)之matplotlib繪制散點(diǎn)圖實(shí)例
- Python通過(guò)matplotlib繪制動(dòng)畫簡(jiǎn)單實(shí)例
- Python使用matplotlib繪制多個(gè)圖形單獨(dú)顯示的方法示例
- python使用matplotlib模塊繪制多條折線圖、散點(diǎn)圖
- python使用matplotlib繪制熱圖
- Python用?matplotlib?繪制柱狀圖
- python中matplotlib的用法及繪制簡(jiǎn)單圖形詳解
相關(guān)文章
python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5拖放控件實(shí)例詳解
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5使用拖放控件實(shí)例詳解,需要的朋友可以參考下2020-02-02python中enumerate函數(shù)用法實(shí)例分析
這篇文章主要介紹了python中enumerate函數(shù)用法,以實(shí)例形式較為詳細(xì)的分析了enumerate函數(shù)的功能、定義及使用技巧,需要的朋友可以參考下2015-05-05Python定時(shí)發(fā)送消息的腳本:每天跟你女朋友說(shuō)晚安
今天小編就為大家分享一篇關(guān)于Python定時(shí)發(fā)送消息的腳本:每天跟你女朋友說(shuō)晚安的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10