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)
的作用是產生一個符合正太分布的數據樣本,聽起來可能有點專業(yè)化了,我們目前只需要知道它的作用是產生一組樣本數據就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']: #每一次循環(huán)都會產生一組散點數據 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上創(chuàng)建成2*3的網格,plt.subplot(321)
代表在6個網格中的第一個網格創(chuàng)建圖像,plt.subplot(322)
代表在6個網格中的第二個網格創(chuàng)建圖像,以此類推。對于這個函數的其他參數,我會在之后再詳細講解,把時間花在刀刃上,花最少的時間學習最有用的東西。
plt.scatter(x, y, s=80, c='purple', marker=(5, 2))
中的s代表散點的大小,參照第三和第四張圖。marker
表示散點的樣式,元組表示法參照第二、四、六張圖,也可以取特定的符號作為marker的值,參照第一、五張圖。
截圖取自官網。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python并行庫joblib之delayed函數與Parallel函數詳解
這篇文章主要介紹了Python并行庫joblib之delayed函數與Parallel函數詳解,Joblib就是一個可以簡單地將Python代碼轉換為并行計算模式的軟件包,它可非常簡單并行我們的程序,從而提高計算速度,需要的朋友可以參考下2023-08-08詳細解讀tornado協(xié)程(coroutine)原理
這篇文章主要介紹了詳細解讀tornado協(xié)程(coroutine)原理,涉及協(xié)程定義,生成器和yield語義,Future對象,ioloop對象,函數裝飾器coroutine等相關內容,具有一定借鑒價值,需要的朋友可以參考下2018-01-01pyspark操作hive分區(qū)表及.gz.parquet和part-00000文件壓縮問題
這篇文章主要介紹了pyspark操作hive分區(qū)表及.gz.parquet和part-00000文件壓縮問題,針對問題整理了spark操作hive表的幾種方式,需要的朋友可以參考下2021-08-08