Matplotlib經常使用繪圖示例

一.Matplotlib介紹

Matplotlib是一個Python的2D繪圖庫,它以各類硬拷貝格式和跨平臺的交互式環境生成出版質量級別的圖形。經過Matplotlib,開發者能夠僅須要幾行代碼,即可以生成繪圖,折線圖、散點圖、柱狀圖、餅圖、直方圖、子圖等。Matplotlib使用NumPy進行數組運算,並調用一系列其餘的Python庫來實現硬件交互。html

 

二.繪圖示例

環境:Python(3.5.2)、Jupyter(1.0.0) Ubuntu安裝Jupyter Notebook數組

1.折線圖dom

複製代碼
%matplotlib inline

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(9)
y = np.sin(x)
z = np.cos(x)
# marker數據點樣式,linewidth線寬,linestyle線型樣式,color顏色
plt.plot(x, y, marker="*", linewidth=3, linestyle="--", color="orange")
plt.plot(x, z)
plt.title("matplotlib")
plt.xlabel("height")
plt.ylabel("width")
# 設置圖例
plt.legend(["Y","Z"], loc="upper right")
plt.grid(True)
plt.show()
複製代碼

2.散點圖post

x = np.random.rand(10)
y = np.random.rand(10)
plt.scatter(x,y)
plt.show()

3.柱狀圖spa

x = np.arange(10)
y = np.random.randint(0,30,10)
plt.bar(x, y)
plt.show()

4.餅圖3d

x = np.random.randint(1, 10, 3)
plt.pie(x)
plt.show()

5.直方圖code

mean, sigma = 0, 1
x = mean + sigma * np.random.randn(10000)
plt.hist(x,50)
plt.show()

 

6.子圖orm

複製代碼
# figsize繪圖對象的寬度和高度,單位爲英寸,dpi繪圖對象的分辨率,即每英寸多少個像素,缺省值爲80
plt.figure(figsize=(8,6),dpi=100)

# subplot(numRows, numCols, plotNum)
# 一個Figure對象能夠包含多個子圖Axes,subplot將整個繪圖區域等分爲numRows行*numCols列個子區域,按照從左到右,從上到下的順序對每一個子區域進行編號
# subplot在plotNum指定的區域中建立一個子圖Axes A = plt.subplot(2,2,1) plt.plot([0,1],[0,1], color="red") plt.subplot(2,2,2) plt.title("B") plt.plot([0,1],[0,1], color="green") plt.subplot(2,1,2) plt.title("C") plt.plot(np.arange(10), np.random.rand(10), color="orange") # 選擇子圖A plt.sca(A) plt.title("A") plt.show()
複製代碼

 

三.自定義X軸刻度

1.數字格式htm

複製代碼
%matplotlib inline

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import MultipleLocator, FormatStrFormatter

x = np.arange(30)
y = np.sin(x)
plt.figure(figsize=(12,6))
plt.plot(x, y)
# 設置X軸的刻度間隔
plt.gca().xaxis.set_major_locator(MultipleLocator(3))
# 設置X軸的刻度顯示格式
plt.gca().xaxis.set_major_formatter(FormatStrFormatter("%d-K"))
# 自動旋轉X軸的刻度,適應座標軸
plt.gcf().autofmt_xdate()
plt.show()
複製代碼

2.時間格式對象

複製代碼
%matplotlib inline

import matplotlib.pyplot as plt
import numpy as np
import datetime
from matplotlib.dates import DayLocator, DateFormatter

x = [datetime.date.today() + datetime.timedelta(i) for i in range(30)]
y = np.sin(np.arange(30))
plt.figure(figsize=(12,6))
plt.plot(x, y)
# 設置X軸的時間間隔,MinuteLocator、HourLocator、DayLocator、WeekdayLocator、MonthLocator、YearLocator
plt.gca().xaxis.set_major_locator(DayLocator(interval=3))
# 設置X軸的時間顯示格式
plt.gca().xaxis.set_major_formatter(DateFormatter('%y/%m/%d'))
# 自動旋轉X軸的刻度,適應座標軸
plt.gcf().autofmt_xdate()
plt.show()
複製代碼


做者: faramita2016 
出處: http://www.cnblogs.com/faramita2016/ 
本文采用 知識共享署名-非商業性使用-相同方式共享 3.0 中國大陸許可協議進行許可,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。
相關文章
相關標籤/搜索