Matplotlib scatter繪制散點(diǎn)圖的方法實(shí)現(xiàn)
前言
考慮到很多同學(xué)可能還沒(méi)有安裝matplotlib
包,這里給大家提供我常用的安裝方法。首先Win鍵 + R,輸入命令cmd打開(kāi)命令行工具,再次在命令行工具中輸入pip install matplotlib
就可以直接安裝了,安裝后會(huì)提示安裝成功。
一、簡(jiǎn)單散點(diǎn)圖
1.代碼
import numpy as np import matplotlib.pyplot as plt #生成散點(diǎn)數(shù)據(jù) n = 1024 X = np.random.normal(0,1,n) Y = np.random.normal(0,1,n) plt.scatter(X,Y) #輸入散點(diǎn)數(shù)據(jù) plt.show() #顯示散點(diǎn)圖
2.運(yùn)行結(jié)果
3.注釋
np.random.normal(0,1,n)
的作用是產(chǎn)生一個(gè)符合正太分布的數(shù)據(jù)樣本,聽(tīng)起來(lái)可能有點(diǎn)專業(yè)化了,我們目前只需要知道它的作用是產(chǎn)生一組樣本數(shù)據(jù)就ok了。
(下面的內(nèi)容了解即可無(wú)需深入,后面再進(jìn)行深入學(xué)習(xí))
np.random.normal(size,loc,scale)
參數(shù)含義:
loc:此概率分布的均值(對(duì)應(yīng)著整個(gè)分布的中心centre)
scale:此概率分布的標(biāo)準(zhǔn)差(對(duì)應(yīng)于分布的寬度,scale越大越矮胖,scale越小,越瘦高)
size:輸出的shape,默認(rèn)為None,只輸出一個(gè)值
二、復(fù)雜的散點(diǎn)圖
較上一次散點(diǎn)圖所做出的變動(dòng):
1.修改散點(diǎn)的顏色
2.將三組散點(diǎn)數(shù)據(jù)放到一張圖上
3.添加散點(diǎn)圖圖例
1.代碼
import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots() for color in ['red', 'green', 'purple']: #每一次循環(huán)都會(huì)產(chǎn)生一組散點(diǎn)數(shù)據(jù) n = 400 x = np.random.normal(0,1,n) y = np.random.normal(0,1,n) ax.scatter(x, y, c=color, label=color ,alpha=0.5) ax.legend() #顯示圖例 plt.show()
2.運(yùn)行結(jié)果
3.注釋
1.fig, ax = plt.subplots()
是一個(gè)將多組數(shù)據(jù)放到一張圖顯示的操作,可以簡(jiǎn)單理解為多圖合一操作。
其返回值
fig: matplotlib.figure.Figure 對(duì)象
ax:子圖對(duì)象( matplotlib.axes.Axes)或者是他的數(shù)組
#函數(shù)定義看看就好了 def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw): fig = figure(**fig_kw) axs = fig.subplots(nrows=nrows, ncols=ncols, sharex=sharex, sharey=sharey, squeeze=squeeze, subplot_kw=subplot_kw, gridspec_kw=gridspec_kw) return fig, axs
2.ax.scatter(x, y, c=color, label=color ,alpha=0.5)
中的c
是散點(diǎn)的顏色,label
是圖例中的標(biāo)簽,alpha
是散點(diǎn)的透明度,通過(guò)給alpha值介于0和1之間來(lái)調(diào)整散點(diǎn)的透明度。
四、散點(diǎn)圖參數(shù)講解
這部分還是先通過(guò)代碼來(lái)直觀了解一下scatter
常用的參數(shù)
1.代碼
import numpy as np import matplotlib.pyplot as plt n = 30 x = np.random.normal(0,1,n) y = np.random.normal(0,1,n) plt.subplot(321) plt.scatter(x, y, s=80, c='red', marker='^') plt.subplot(322) plt.scatter(x, y, s=80, c='green', marker=(7, 1)) plt.subplot(323) plt.scatter(x, y, s=1, c='purple', marker=(6, 1)) plt.subplot(324) plt.scatter(x, y, s=400, c='red', marker=(5, 1)) plt.subplot(325) plt.scatter(x, y, s=80, c='green', marker='+') plt.subplot(326) plt.scatter(x, y, s=80, c='purple', marker=(5, 2)) plt.show()
2.運(yùn)行結(jié)果
3.參數(shù)說(shuō)明
fig, axes = plt.subplots(23):表示一次性在figure上創(chuàng)建成2*3的網(wǎng)格,plt.subplot(321)
代表在6個(gè)網(wǎng)格中的第一個(gè)網(wǎng)格創(chuàng)建圖像,plt.subplot(322)
代表在6個(gè)網(wǎng)格中的第二個(gè)網(wǎng)格創(chuàng)建圖像,以此類推。對(duì)于這個(gè)函數(shù)的其他參數(shù),我會(huì)在之后再詳細(xì)講解,把時(shí)間花在刀刃上,花最少的時(shí)間學(xué)習(xí)最有用的東西。
plt.scatter(x, y, s=80, c='purple', marker=(5, 2))
中的s代表散點(diǎn)的大小,參照第三和第四張圖。marker
表示散點(diǎn)的樣式,元組表示法參照第二、四、六張圖,也可以取特定的符號(hào)作為marker的值,參照第一、五張圖。
截圖取自官網(wǎng)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python并行庫(kù)joblib之delayed函數(shù)與Parallel函數(shù)詳解
這篇文章主要介紹了Python并行庫(kù)joblib之delayed函數(shù)與Parallel函數(shù)詳解,Joblib就是一個(gè)可以簡(jiǎn)單地將Python代碼轉(zhuǎn)換為并行計(jì)算模式的軟件包,它可非常簡(jiǎn)單并行我們的程序,從而提高計(jì)算速度,需要的朋友可以參考下2023-08-08基于python實(shí)現(xiàn)上傳文件到OSS代碼實(shí)例
這篇文章主要介紹了基于python實(shí)現(xiàn)上傳文件到OSS,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Python監(jiān)聽(tīng)鍵盤和鼠標(biāo)事件的示例代碼
這篇文章主要介紹了Python監(jiān)聽(tīng)鍵盤和鼠標(biāo)事件的示例代碼,幫助大家更好的理解和使用python,提高辦公效率,感興趣的朋友可以了解下2020-11-11詳細(xì)解讀tornado協(xié)程(coroutine)原理
這篇文章主要介紹了詳細(xì)解讀tornado協(xié)程(coroutine)原理,涉及協(xié)程定義,生成器和yield語(yǔ)義,F(xiàn)uture對(duì)象,ioloop對(duì)象,函數(shù)裝飾器coroutine等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01pyspark操作hive分區(qū)表及.gz.parquet和part-00000文件壓縮問(wèn)題
這篇文章主要介紹了pyspark操作hive分區(qū)表及.gz.parquet和part-00000文件壓縮問(wèn)題,針對(duì)問(wèn)題整理了spark操作hive表的幾種方式,需要的朋友可以參考下2021-08-08python常見(jiàn)字符串處理函數(shù)與用法匯總
這篇文章主要介紹了python常見(jiàn)字符串處理函數(shù)與用法,結(jié)合實(shí)例形式詳細(xì)分析了Python字符串操作函數(shù)find、join、replace及split功能、使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-10-10使用Async IO在Python中進(jìn)行異步編程的步驟詳解
許多程序員都熟悉編寫順序(同步)代碼,在異步世界中,事件的發(fā)生獨(dú)立于主程序流程,異步編程范例有助于并發(fā)執(zhí)行這些任務(wù),并確保您可以克服等待時(shí)間并更有效地使用資源,本文給大家介紹了使用Async IO在Python中進(jìn)行異步編程,需要的朋友可以參考下2023-11-11解決python super()調(diào)用多重繼承函數(shù)的問(wèn)題
今天小編就為大家分享一篇解決python super()調(diào)用多重繼承函數(shù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06