matplotlib的基本使用

2021-09-05 08:48:07 字數 2196 閱讀 4314

容器層

(1) canvas:畫布,位於最底層,使用者一般接觸不到

(2)figure:圖,建立在canvas之上

(3)axes:座標系/繪圖區,建立在figure之上,圖形繪製在這個範圍

輔助顯示層(最好放在影象層之後編寫)

(1)起到輔助作用,提高圖的可讀性

(2) 網格線,圖例,x、y軸的標籤,圖的標籤,刻度/刻度標籤

影象層(1)根據資料繪製出來的元素

(2)折線圖/散點圖/柱狀圖/直方圖/餅圖

(1)canvas

canvas層不需要我們來建立,一般使用者接觸不到
(2)figure
# 建立畫布

plt.figure(figsize=(10, 6), dpi=100)

figsize:指定圖的長與寬

dpi:影象的清晰度

# 後續直接使用plt來操作進行了

(3)axes
# 建立多個繪圖區

fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=80)

# 後續需要使用axes來操作

figure與subplots函式只需要寫乙個,如果乙個繪圖使用figure就可以,如果需要多個就要使用subplots

(1)設定axis刻度

# 設定x軸的刻度

plt.xticks()

# 設定y軸的刻度

plt.yticks()

# 如果是多個繪圖區的時候,函式名需要改變,並且刻度名字需要重新寫乙個函式

axes[0].set_xticks()

axes[0].set_yticks()

axes[0].set_xticklabels()

axes[0].set_yticklabels()

(2)新增網格顯示
plt.grid(alpha=0.5)
(3)新增描述資訊
# 新增x軸描述資訊

plt.xlabel()

# 新增y軸描述資訊

plt.ylabel()

# 新增頭描述資訊

plt.title()

# 如果是多個繪圖區的時候,函式名需要改變

axes[0].set_xlabel()

axes[0].set_ylabel()

axes[0].set_title()

(4)顯示圖例
plt.legend()

(1)折線圖

顯示事物變化的趨勢

# 建立折線圖

plt.plot(x, y, color='r', linestyle='--', label='名字')

x:x軸座標

y:y軸座標

color:線的顏色

linestyle:線的形狀

label:線的名字

(2)散點圖

判斷變數之間是否存在數量關聯趨勢

# 建立散點圖

plt.scatter(x, y)

x:x軸座標

y:y軸座標

(3)柱狀圖

進行大小的對比

# 建立柱狀圖

plt.bar(x, y, width=0.2)

x:x軸座標

y:y軸座標

width:柱狀圖的寬度

(4)直方圖

表示頻率的分布

# 建立直方圖

plt.hist(data, bins=group_num)

data:資料,一大堆資料

bins:表示分組的個數

(5)餅圖

表示佔比

# 建立餅圖

plt.pie(data, labels="名字", autopct="%1.2%%", shadow=true, explode=(0,0.1,0,0))

data:列表,裡面儲存的是每條資料的大小

labels:各個部分的名字,也是乙個列表與資料相對應

autopct:資料輸出的形式

shadow:陰影,圖形是否帶陰影

explode:突出,列表與資料相對應

matplotlib的基本使用

matplotlib是專門用於開發2d 3d 圖表的python包。建立畫布 plt.figure figsize 20,8 繪製影象 plt.plot x,y 顯示影象 plt.show plt.s efig 路徑 直接進行新增即可 在plt.plot 裡面設定乙個label,如果不設定,將無法顯...

matplotlib 基本使用

1,plot import matplotlib.pyplot as plt import numpy as np numpy庫,製作資料 x np.linspace 1,1,50 y 2 x 1 plt.plot x,y plot.show linspace x,y,n 範圍 x,y n個點 2,...

使用matplotlib畫擬合曲線的基本方法

import matplotlib.pyplot as plt fig plt.figure ax fig.add subplot 111 ax.scatter xsortrawarr,ysortrawarr ax.plot xsortrawarr,ysorthatarr plt.show scat...