Matplotlib scatter繪制散點圖的方法實現

發布時間: 2020-01-02 16:26:42 來源: 互聯網 欄目: python 點擊:

這篇文章主要介紹了Matplotlib scatter繪制散點圖的方法實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

考慮到很多同學可能還沒有安裝matplotlib包,這里給大家提供我常用的安裝方法。首先Win鍵 + R,輸入命令cmd打開命令行工具,再次在命令行工具中輸入pip install matplotlib就可以直接安裝了,安裝后會提示安裝成功。

一、簡單散點圖

1.代碼

import numpy as np
import matplotlib.pyplot as plt

#生成散點數據
n = 1024
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)

plt.scatter(X,Y)  #輸入散點數據
plt.show()     #顯示散點圖

2.運行結果

3.注釋

np.random.normal(0,1,n)的作用是產生一個符合正太分布的數據樣本,聽起來可能有點專業化了,我們目前只需要知道它的作用是產生一組樣本數據就ok了。

(下面的內容了解即可無需深入,后面再進行深入學習)
np.random.normal(size,loc,scale)
參數含義:
loc:此概率分布的均值(對應著整個分布的中心centre)
scale:此概率分布的標準差(對應于分布的寬度,scale越大越矮胖,scale越小,越瘦高)
size:輸出的shape,默認為None,只輸出一個值

二、復雜的散點圖

較上一次散點圖所做出的變動:

1.修改散點的顏色
2.將三組散點數據放到一張圖上
3.添加散點圖圖例

1.代碼

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

for color in ['red', 'green', 'purple']:      #每一次循環都會產生一組散點數據
  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.運行結果

3.注釋

1.fig, ax = plt.subplots()是一個將多組數據放到一張圖顯示的操作,可以簡單理解為多圖合一操作。

其返回值
fig: matplotlib.figure.Figure 對象
ax:子圖對象( matplotlib.axes.Axes)或者是他的數組

#函數定義看看就好了
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之間來調整散點的透明度。

四、散點圖參數講解

這部分還是先通過代碼來直觀了解一下scatter常用的參數

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.運行結果

3.參數說明

fig, axes = plt.subplots(23):表示一次性在figure上創建成2*3的網格,plt.subplot(321)代表在6個網格中的第一個網格創建圖像,plt.subplot(322)代表在6個網格中的第二個網格創建圖像,以此類推。對于這個函數的其他參數,我會在之后再詳細講解,把時間花在刀刃上,花最少的時間學習最有用的東西。

plt.scatter(x, y, s=80, c='purple', marker=(5, 2))中的s代表散點的大小,參照第三和第四張圖。marker表示散點的樣式,元組表示法參照第二、四、六張圖,也可以取特定的符號作為marker的值,參照第一、五張圖。

截圖取自官網。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。

本文標題: Matplotlib scatter繪制散點圖的方法實現
本文地址: http://www.1921352.live/jiaoben/python/296754.html

如果認為本文對您有所幫助請贊助本站

支付寶掃一掃贊助微信掃一掃贊助

  • 支付寶掃一掃贊助
  • 微信掃一掃贊助
  • 支付寶先領紅包再贊助
    聲明:凡注明"本站原創"的所有文字圖片等資料,版權均屬編程客棧所有,歡迎轉載,但務請注明出處。
    Python基礎之函數基本用法與進階詳解pytorch 實現cross entropy損失函數計算方式
    Top 网上挖矿机赚钱