Matplotlib scatter繪制散點圖的方法實現(xiàn)
前言
考慮到很多同學(xué)可能還沒有安裝matplotlib
包,這里給大家提供我常用的安裝方法。首先Win鍵 + R,輸入命令cmd打開命令行工具,再次在命令行工具中輸入pip install matplotlib
就可以直接安裝了,安裝后會提示安裝成功。
一、簡單散點圖
1.代碼
import numpy as np import matplotlib.pyplot as plt #生成散點數(shù)據(jù) n = 1024 X = np.random.normal(0,1,n) Y = np.random.normal(0,1,n) plt.scatter(X,Y) #輸入散點數(shù)據(jù) plt.show() #顯示散點圖
2.運行結(jié)果
3.注釋
np.random.normal(0,1,n)
的作用是產(chǎn)生一個符合正太分布的數(shù)據(jù)樣本,聽起來可能有點專業(yè)化了,我們目前只需要知道它的作用是產(chǎn)生一組樣本數(shù)據(jù)就ok了。
(下面的內(nèi)容了解即可無需深入,后面再進行深入學(xué)習(xí))
np.random.normal(size,loc,scale)
參數(shù)含義:
loc:此概率分布的均值(對應(yīng)著整個分布的中心centre)
scale:此概率分布的標準差(對應(yīng)于分布的寬度,scale越大越矮胖,scale越小,越瘦高)
size:輸出的shape,默認為None,只輸出一個值
二、復(fù)雜的散點圖
較上一次散點圖所做出的變動:
1.修改散點的顏色
2.將三組散點數(shù)據(jù)放到一張圖上
3.添加散點圖圖例
1.代碼
import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots() for color in ['red', 'green', 'purple']: #每一次循環(huán)都會產(chǎ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.運行結(jié)果
3.注釋
1.fig, ax = plt.subplots()
是一個將多組數(shù)據(jù)放到一張圖顯示的操作,可以簡單理解為多圖合一操作。
其返回值
fig: matplotlib.figure.Figure 對象
ax:子圖對象( 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
是散點的顏色,label
是圖例中的標簽,alpha
是散點的透明度,通過給alpha值介于0和1之間來調(diào)整散點的透明度。
四、散點圖參數(shù)講解
這部分還是先通過代碼來直觀了解一下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.運行結(jié)果
3.參數(shù)說明
fig, axes = plt.subplots(23):表示一次性在figure上創(chuàng)建成2*3的網(wǎng)格,plt.subplot(321)
代表在6個網(wǎng)格中的第一個網(wǎng)格創(chuàng)建圖像,plt.subplot(322)
代表在6個網(wǎng)格中的第二個網(wǎng)格創(chuàng)建圖像,以此類推。對于這個函數(shù)的其他參數(shù),我會在之后再詳細講解,把時間花在刀刃上,花最少的時間學(xué)習(xí)最有用的東西。
plt.scatter(x, y, s=80, c='purple', marker=(5, 2))
中的s代表散點的大小,參照第三和第四張圖。marker
表示散點的樣式,元組表示法參照第二、四、六張圖,也可以取特定的符號作為marker的值,參照第一、五張圖。
截圖取自官網(wǎng)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python并行庫joblib之delayed函數(shù)與Parallel函數(shù)詳解
這篇文章主要介紹了Python并行庫joblib之delayed函數(shù)與Parallel函數(shù)詳解,Joblib就是一個可以簡單地將Python代碼轉(zhuǎn)換為并行計算模式的軟件包,它可非常簡單并行我們的程序,從而提高計算速度,需要的朋友可以參考下2023-08-08詳細解讀tornado協(xié)程(coroutine)原理
這篇文章主要介紹了詳細解讀tornado協(xié)程(coroutine)原理,涉及協(xié)程定義,生成器和yield語義,F(xiàn)uture對象,ioloop對象,函數(shù)裝飾器coroutine等相關(guān)內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下2018-01-01pyspark操作hive分區(qū)表及.gz.parquet和part-00000文件壓縮問題
這篇文章主要介紹了pyspark操作hive分區(qū)表及.gz.parquet和part-00000文件壓縮問題,針對問題整理了spark操作hive表的幾種方式,需要的朋友可以參考下2021-08-08解決python super()調(diào)用多重繼承函數(shù)的問題
今天小編就為大家分享一篇解決python super()調(diào)用多重繼承函數(shù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06