欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 數(shù)據(jù)科學 Matplotlib圖庫詳解

 更新時間:2021年07月07日 09:47:49   作者:Shinnosuck  
Matplotlib 是 Python 的二維繪圖庫,用于生成符合出版質量或跨平臺交互環(huán)境的各類圖形。今天通過本文給大家分享Python 數(shù)據(jù)科學 Matplotlib的相關知識,感興趣的朋友一起看看吧

Matplotlib 是 Python 的二維繪圖庫,用于生成符合出版質量或跨平臺交互環(huán)境的各類圖形。

圖形解析與工作流

圖形解析 

工作流

Matplotlib 繪圖的基本步驟:
1  準備數(shù)據(jù)

2  創(chuàng)建圖形

3 繪圖

4 自定義設置

5 保存圖形

6 顯示圖形

import matplotlib.pyplot as plt
x = [1,2,3,4] # step1
y = [10,20,25,30]
fig = plt.figure() # step2
ax = fig.add_subplot(111) # step3
ax.plot(x, y, color='lightblue', linewidth=3) # step3\4
ax.scatter([2,4,6], 
            [5,15,25], 
            color='darkgreen', 
            marker='^')
ax.set_xlim(1, 6.5)
plt.savefig('foo.png') # step5
plt.show() # step6

 

準備數(shù)據(jù)

一維數(shù)據(jù)

import numpy as np
 
x = np.linspace(0, 10, 100)
y = np.cos(x) 
z = np.sin(x)

二維數(shù)據(jù)或圖片

data = 2 * np.random.random((10, 10))
data2 = 3 * np.random.random((10, 10))
Y, X = np.mgrid[-3:3:100j, -3:3:100j]
U = -1 - X**2 + Y
V = 1 + X - Y**2
from matplotlib.cbook import get_sample_data
img = np.load('E:/anaconda3/envs/torch/Lib/site-packages/matplotlib/mpl-data/aapl.npz')

繪制圖形

import matplotlib.pyplot as plt

畫布

fig = plt.figure()
fig2 = plt.figure(figsize=plt.figaspect(2.0))

坐標軸

圖形是以坐標軸為核心繪制的,大多數(shù)情況下,子圖就可以滿足需求。子圖是柵格系統(tǒng)的坐標軸。

fig.add_axes()
ax1 = fig.add_subplot(221) # row-col-num
ax3 = fig.add_subplot(212) 
fig3, axes = plt.subplots(nrows=2,ncols=2)
fig4, axes2 = plt.subplots(ncols=3)

繪圖例程

一維數(shù)據(jù)

fig, ax = plt.subplots()
lines = ax.plot(x,y) # 用線或標記連接點
ax.scatter(x,y) # 縮放或著色未連接的點
axes[0,0].bar([1,2,3],[3,4,5]) # 繪制等寬縱向矩形
axes[1,0].barh([0.5,1,2.5],[0,1,2]) # 繪制等高橫向矩形
axes[1,1].axhline(0.45) # 繪制與軸平行的橫線
axes[0,1].axvline(0.65) # 繪制與軸垂直的豎線
ax.fill(x,y,color='blue') # 繪制填充多邊形
ax.fill_between(x,y,color='yellow') # 填充y值和0之間

二維數(shù)據(jù)或圖片

import matplotlib.image as imgplt
img = imgplt.imread('C:/Users/Administrator/Desktop/timg.jpg')
 
fig, ax = plt.subplots()
im = ax.imshow(img, cmap='gist_earth', interpolation='nearest', vmin=-200, vmax=200)# 色彩表或RGB數(shù)組
 
axes2[0].pcolor(data2) # 二維數(shù)組偽彩色圖
axes2[0].pcolormesh(data) # 二維數(shù)組等高線偽彩色圖
CS = plt.contour(Y,X,U) # 等高線圖
axes2[2].contourf(data)     
axes2[2]= ax.clabel(CS) # 等高線圖標簽

向量場

axes[0,1].arrow(0,0,0.5,0.5) # 為坐標軸添加箭頭
axes[1,1].quiver(y,z) # 二維箭頭
axes[0,1].streamplot(X,Y,U,V) # 二維箭頭

數(shù)據(jù)分布

ax1.hist(y) # 直方圖
ax3.boxplot(y) # 箱形圖
ax3.violinplot(z) # 小提琴圖

自定義圖形 顏色、色條與色彩表

plt.plot(x, x, x, x**2, x, x**3)
ax.plot(x, y, alpha = 0.4)
ax.plot(x, y, c='k')
fig.colorbar(im, orientation='horizontal')
im = ax.imshow(img,                  
                cmap='seismic')

標記

fig, ax = plt.subplots()
ax.scatter(x,y,marker=".")
ax.plot(x,y,marker="o")

線型

plt.plot(x,y,linewidth=4.0)
plt.plot(x,y,ls='solid') 
plt.plot(x,y,ls='--')
plt.plot(x,y,'--',x**2,y**2,'-.')
plt.setp(lines,color='r',linewidth=4.0)

文本與標注

ax.text(1, 
        -2.1,
        'Example Graph',
        style='italic')
ax.annotate("Sine",
            xy=(8, 0), 
            xycoords='data',
            xytext=(10.5, 0), 
            textcoords='data',
            arrowprops=dict(arrowstyle="->",
            connectionstyle="arc3"),)

數(shù)學符號

plt.title(r'$sigma_i=15$', fontsize=20)

尺寸限制、圖例和布局

尺寸限制與自動調整

ax.margins(x=0.0,y=0.1) # 添加內邊距
ax.axis('equal') # 將圖形縱橫比設置為1
ax.set(xlim=[0,10.5],ylim=[-1.5,1.5]) # 設置x軸與y軸的限
ax.set_xlim(0,10.5)

圖例

ax.set(title='An Example Axes',
       ylabel='Y-Axis',  
       xlabel='X-Axis') # 設置標題與x、y軸的標簽
ax.legend(loc='best') # 自動選擇最佳的圖例位置

標記

ax.xaxis.set(ticks=range(1,5),
            ticklabels=[3,100,-12,"foo"]) # 手動設置X軸刻度
ax.tick_params(axis='y',                     
                direction='inout', 
                length=10) # 設置Y軸長度與方向

子圖間距

fig3.subplots_adjust(wspace=0.5,
                    hspace=0.3,
                    left=0.125, 
                    right=0.9, 
                    top=0.9, 
                    bottom=0.1)
fig.tight_layout() # 設置畫布的子圖布局

坐標軸邊線

ax1.spines['top'].set_visible(False) # 隱藏頂部坐標軸線
ax1.spines['bottom'].set_position(('outward',10)) # 設置底部邊線的位置為outward

保存

#保存畫布
plt.savefig('foo.png')
# 保存透明畫布
plt.savefig('foo.png', transparent=True)

顯示圖形

plt.show()

關閉與清除

plt.cla() # 清除坐標軸
plt.clf() #  清除畫布
plt.close() # 關閉窗口

以上就是Python 數(shù)據(jù)科學 Matplotlib的詳細內容,更多關于Python 數(shù)據(jù)科學 Matplotlib的資料請關注腳本之家其它相關文章!

相關文章

  • mat矩陣和npy矩陣實現(xiàn)互相轉換(python和matlab)

    mat矩陣和npy矩陣實現(xiàn)互相轉換(python和matlab)

    這篇文章主要介紹了mat矩陣和npy矩陣實現(xiàn)互相轉換(python和matlab),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python開發(fā)時報TypeError:?‘int‘?object?is?not?iterable錯誤的解決方式

    Python開發(fā)時報TypeError:?‘int‘?object?is?not?iterable錯誤的解決方

    Python寫循環(huán)程序的時候遇到TypeError:'int'object is not iterable,所以下面這篇文章主要給大家介紹了關于Python開發(fā)時報TypeError:'int'?object?is?not?iterable錯誤的解決方式,需要的朋友可以參考下
    2022-06-06
  • Python類的繼承和多態(tài)代碼詳解

    Python類的繼承和多態(tài)代碼詳解

    這篇文章主要介紹了Python類的繼承和多態(tài)代碼詳解,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • python list 查詢是否存在并且并返回下標的操作

    python list 查詢是否存在并且并返回下標的操作

    這篇文章主要介紹了python list 查詢是否存在并且并返回下標的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 對Python中內置異常層次結構詳解

    對Python中內置異常層次結構詳解

    今天小編就為大家分享一篇對Python中內置異常層次結構詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python tkinter中的錨點(anchor)問題及處理

    python tkinter中的錨點(anchor)問題及處理

    這篇文章主要介紹了python tkinter中的錨點(anchor)問題及處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Python中Scrapy框架的入門教程分享

    Python中Scrapy框架的入門教程分享

    Scrapy是一個基于Python的Web爬蟲框架,可以快速方便地從互聯(lián)網(wǎng)上獲取數(shù)據(jù)并進行處理。本教程將介紹如何使用Scrapy框架來編寫一個簡單的爬蟲,從而讓您了解Scrapy框架的基本使用方法
    2023-03-03
  • Python?Nuitka打包的實現(xiàn)步驟

    Python?Nuitka打包的實現(xiàn)步驟

    在Python應用程序開發(fā)中,打包是將代碼和依賴項組合成可執(zhí)行文件或庫的關鍵步驟之一,本文主要介紹了Python?Nuitka打包的實現(xiàn)步驟,感興趣的可以了解一下
    2023-12-12
  • 解決Django migrate不能發(fā)現(xiàn)app.models的表問題

    解決Django migrate不能發(fā)現(xiàn)app.models的表問題

    今天小編就為大家分享一篇解決Django migrate不能發(fā)現(xiàn)app.models的表問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python新手必讀bytearray對象使用技巧掌握

    Python新手必讀bytearray對象使用技巧掌握

    Python中的bytearray是一個可變序列,通常用于存儲二進制數(shù)據(jù),它允許在不創(chuàng)建新的對象的情況下就地修改數(shù)據(jù),非常適用于處理字節(jié)數(shù)據(jù),本文將深入學習bytearray對象的使用,包括創(chuàng)建、修改、切片和常見應用場景
    2023-12-12

最新評論