Python資料視覺化之Matplotlib基礎

2021-08-04 23:08:39 字數 4541 閱讀 6792

python資料視覺化之matplotlib學習筆記

1、簡介

matplotlib是python最著名的繪相簿,它提供了一整套類似matlab的api,非常適合互動式繪圖。

它的文件相當完備,並且 gallery頁面( 中有上百幅縮圖,開啟之後都有源程式。因此如果你需要繪製某種型別的圖,只需要在這個頁面中瀏覽/複製/貼上一下,基本上都能搞定。

2、匯入模組

匯入matplotlib的快速繪圖模組pyplot,由於matplotlib在繪圖過程中的資料處理是基於numpy的,所以通常也同時匯入numpy。

import numpy as np

import matplotlib.pyplot as plt

matplotlib還提供了pylab模組,pylab將許多常見的module(比如numpy,pyplot的常用函式等)集中到乙個nameplace下面,提供乙個類似matlab的工作環境,所以使用者無需自行import所有所需功能。但是匯入功能明確是個好習慣,讓命名空間乾淨一些,一般的程式設計使用pyplot就行了,盡量避免使用pylab。

3、快速繪圖

(1)呼叫乙個繪圖物件,使他成為當前的繪圖物件

plt.figure(num = 1, figsize = (8,6), dpi = 600, facecolor = 'r', edgecolor = 'g', frameon = true)
引數一,num:表示建立繪圖物件或當前繪圖物件的編號

引數二,figsize:表示繪圖物件的大小

引數三,dpi:表示繪圖物件dots per inch(每英吋所列印的點數)

引數四,facecolor:表示繪圖物件邊框的顏色,如下圖紅色邊框

引數五,edgecolor:暫時沒弄清楚是表示哪一塊的顏色 = =

引數六,frameon:表示是否要邊框,也就是上圖紅色那塊部分,但是即使選擇false,既然會保留座標軸及數字。

其他引數:還有一些其他引數,但是我覺得一般繪圖基本用不到,也就沒有再介紹,具體可參見官方文件。

(2)使用plot模組繪圖

a、畫曲線

plt.plot(x, y, 'r-o', label = '$line$', linewidth = 2)
引數解釋:

x,y:將x,y陣列傳遞給plot模組繪製曲線

label : 表示圖例,此圖例在legend中顯示,加入後,

中間的公式會用matplotlib內建的latex引擎繪製數學公式。

linewidth:表示線寬

『r-o』:指定曲線的樣式。

還可以在乙個區域內繪製疊加圖,使用一條語句

b、畫柱狀圖

plt.bar(left = (1,2,3,4), height = (2,3,1,5), width = 0.5, align = 'center', yerr = 0.00001, color = 'grey')
left:表示每個柱體左下端的x軸的座標

height:表示每個柱體的高度

width:表示每個柱體的柱寬

align:表示對齊方式,文字居中

yeer:表示最高柱體距離頂部預留一定位置

color :表示柱體的顏色

附官方文件的樣式庫:

character description

'-'solid line style

'--'dashed line style

'-.'dash-dot line style

':'dotted line style

'.'point marker

','pixel marker

'o'circle marker

'v'********_down marker

'^'********_up marker

'********_left marker

'>'********_right marker

'1'tri_down marker

'2'tri_up marker

'3'tri_left marker

'4'tri_right marker

's'square marker

'p'pentagon marker

'*'star marker

'h'hexagon1 marker

'h'hexagon2 marker

'+'plus marker

'x'x marker

'd'diamond marker

'd'thin_diamond marker

'|'vline marker

'_'hline marker

***************===

character color

『b』 blue

『g』 green

『r』 red

『c』 cyan

『m』 magenta

『y』 yellow

『k』 black

『w』 white

此外 還可以用灰色度來控制顏色:比如 color = 『0.8』。

(3)設定座標軸引數、標題、圖示、文字

plt.xlabel('x軸', fontsize = 'x-large')#設定x軸字型及文字大小

plt.ylabel('y軸', fontsize = 'medium') #設定y軸字型及文字大小

plt.xticks((1,2,3),('a','b','c'), fontsize = 'x-large') #自定義設定x軸刻度字元及大小

plt.yticks((10,22,33),('h','l','k'), fontsize = 'x-large') #自定義設定y軸刻度字元及大小

plt.xlim(0, 10) #設定x軸座標的區域

plt.ylin(-4, 4) #設定y軸座標的區域

plt.legend() #顯示圖示

plt.title('影象的標題') #設定整個影象的標題

plt.grid(true) #是否顯示網格

plt.show() #生成並顯示整個影象

xticks和yticks: 為x,y軸的主刻度和次刻度設定顏色、大小、方向,以及標籤大小。

第乙個引數表示自定義刻度顯示的位置,為序列

第二個引數表示自定義刻度顯示的字元,為序列

fontsize引數有「xx-small, small, medium, x-small, none, x-large, larger, xx-large, smaller, large」

x,y軸的範圍還可以通過這樣來確定

plt

.axis([ximn,xmax,ymin,ymax])

plt.text()用於在影象任何位置新增文字,用支援latex語法

plt.text(2.1, 3.4, '$y = sin(x^2)$')
其中,前兩個引數表示 文字擺放的位置,要新增的文字物件。

(4)、繪製多座標軸圖

plt.subplot(321)
表示共有3*2=6個子區域,三行,兩列

從左至右,從上至下,依次編號

321表示三行兩列的區域中的第一行第一列的子區域,即編號的第乙個

324表示三行兩列的區域中的第二行第二列的子區域,即編號的第四個

python資料視覺化之matplotlib

用matplotlib進行資料視覺化探索 一.柱狀圖 import matplotlib.pyplot as plt import matplotlib import pandas as pd import numpy as npdef bar plot bar plot 生成測試資料 means ...

Python之pyplot 資料視覺化

先導入pyplot import matplotlib.pyplot as plt 生成0 25之間均分的40個數 x np.linspace 0,25,40 y np.copy x 將y打亂 np.random.shuffle y print x end print x print y end p...

Python 資料視覺化

資料視覺化指的是通過視覺化表示來探索資料,它與資料探勘緊緊相關,而資料探勘指的是使用 來探索資料集的規律和關聯。資料集可以是用一行 就能表示的小型數字列表,也可以是數以吉位元組的資料。漂亮地呈現資料關乎的並非僅僅是漂亮的。以引人注目的簡潔方式呈現資料,讓人能夠明白其含義,發現資料集中原本未意識到的規...