經過安裝Anaconda3,使用matplotlib庫數組
0. 基本繪畫設置
(1). Figure和Subplot
matplotlib的圖像都位於Figure對象中,你能夠用plt.figure建立一個新的Figure.bash
#這時會彈出一個空窗
fig = plt.figure()12複製代碼
可是不能經過空Figure繪圖,必須用add_subplot建立一個或多個subplot才行dom
#這條代碼的意思是:圖像應該是2X2的,且當前選中的是第一個
ax1 = fig.add_subplot(2,2,1)
#再繪製兩個
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)123456複製代碼
此時繪圖,就會在subplot上進行繪製
例如:函數
from numpy.random import randn
plt.plot(randn(50).cumsum(), 'k--')
#'k--'是一個線型選項,用於告訴matplotlib繪製黑色虛線圖。123複製代碼
別一種更爲方便的方法,能夠建立一個新的Figure,並返回一個含有已建立subplot對象的NumPy數組:spa
#建立了一個兩行,三列的區域
fig, axes = plt.subplots(2,3)12複製代碼
(2). 調整subplot周圍的間距
默認狀況下,matplotlib會在subplot外圍留下必定的邊距,並在subplot之間留下必定的間距。
利用subplots_adjust方法能夠調整間距3d
fig, axes = plt.subplots(2,2, sharex=True, sharey=True)
for i in range(2):
for j in range(2):
axes[i,j].hist(randn(500), bins=50, color='k', alpha=0.5)
plt.subplots_adjust(wspace=0, hspace=0)123456複製代碼
(3). 顏色、標記和線型
根據x,y繪製綠色虛線code
ax.plot(x, y, 'g--')
#與下面設置是同樣的
ax.plot(x, y, linestyle='--', color='g')123複製代碼
線型圖能夠加上一些標記,來強調實際的點orm
plt.plot(randn(30).cumsum(), 'ko--')
#等價於
plt.plot(randn(30).cumsum(), color='k', linestyle='dashed', marker='o')123複製代碼
(4). 刻度、標籤和圖例
添加刻度和標籤cdn
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.plot(randn(1000).cumsum())
#修改X軸的刻度
#刻度放在哪些位置
ticks = ax.set_xticks([0,250,500,750,1000])
#也能夠將其餘值用做標籤
labels = ax.set_xticklabels(['one','two','three','four','five'], rotation=30, fontsize='small')
#爲X軸設置一個名稱
ax.set_title('My first matplotlib plot')
#設置一個標題
ax.set_xlabel('Stages')1234567891011121314複製代碼
添加圖例:對象
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.plot(randn(1000).cumsum(), 'k', label='one')
ax.plot(randn(1000).cumsum(), 'k--', label='two')
ax.plot(randn(1000).cumsum(), 'k.', label='three')
ax.legend(loc='best')1234567複製代碼
1. 繪製簡單的折線圖
(1). 函數plot()
列表傳遞給這個函數,這個函數將嘗試根據這些數字繪製出有意義的圖形。
import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares)
plt.show()1234複製代碼
(2). 修改標籤文字和線條粗細
import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
#參數linewidth 決定了plot() 繪製的線條的粗細
plt.plot(squares, linewidth=5)
# 設置圖表標題, 並給座標軸加上標籤
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)
# 設置刻度標記的大小
plt.tick_params(axis='both', labelsize=14)
plt.show()123456789101112131415複製代碼
(3). 校訂圖形
input_values = [1, 2, 3, 4, 5]
squares = [1, 4, 9, 16, 25]
plt.plot(input_values, squares, linewidth=5)123複製代碼
2. 繪製繪製散點圖
(1). 使用scatter() 繪製散點圖並設置其樣式
import matplotlib.pyplot as plt
plt.scatter(2, 4)
plt.show()123複製代碼
(2).使用scatter() 繪製一系列點
import matplotlib.pyplot as plt
x_values = [1, 2, 3, 4, 5]
y_values = [1, 4, 9, 16, 25]
#並使用實參s 設置了繪製圖形時使用的點的尺寸
plt.scatter(x_values, y_values, s=100)
plt.show()1234567複製代碼
(3).刪除數據點的輪廓
可在調用scatter() 時傳遞實參edgecolor=’none’
plt.scatter(x_values, y_values, edgecolor='none', s=40)1複製代碼
(4).自定義顏色
要修改數據點的顏色, 可向scatter() 傳遞參數c , 並將其設置爲要使用的顏色的名稱,
plt.scatter(x_values, y_values, c='red', edgecolor='none', s=40)1複製代碼
(5).使用顏色映射
顏色映射 ( colormap) 是一系列顏色, 它們從起始顏色漸變到結束顏色。
import matplotlib.pyplot as plt
x_values = list(range(1001))
y_values = [x**2 for x in x_values]
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolor='none', s=40)
# 設置每一個座標軸的取值範圍
plt.axis([0, 1100, 0, 1100000])
plt.show()12345678910複製代碼
(6).自動保存圖表
要讓程序自動將圖表保存到文件中, 可將對plt.show() 的調用替換爲對plt.savefig() 的調用
plt.savefig('squares_plot.png', bbox_inches='tight')1複製代碼
(7). 隱藏座標軸
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
(8). 調整尺寸以適合屏幕
函數figure() 用於指定圖表的寬度、 高度、 分辨率和背景色。
你須要給形參figsize 指定一個元組, 向matplotlib指出繪圖窗口的尺寸, 單位爲英寸。
plt.figure(figsize=(10, 6))
3. 隨機漫步
choice()函數
#choice([0, 1, 2, 3, 4]) 隨機地選擇一個0~4之間的整數
x_distance = choice([0, 1, 2, 3, 4])12複製代碼
range()函數
返回一系列連續增長的整數
randint()函數 返回一個1和麪數之間的隨機數