matplotlib是基於Python語言的開源項目,旨在為Python提供一個數據繪圖包,實現專業的繪圖功能。我將在這篇文章中介紹matplotlib API的核心對象,並介紹如何使用這些對象來實現繪圖。實際上,matplotlib的對象體系嚴謹而有趣,為使用者提供了巨大的發揮空間。用戶在熟悉了核心對象之后,可以輕易的定制圖像。matplotlib的對象體系也是計算機圖形學的一個優秀范例。即使你不是Python程序員,你也可以從文中了解一些通用的圖形繪制原則。
matplotlib使用numpy進行數組運算,並調用一系列其他的Python庫來實現硬件交互。matplotlib的核心是一套由對象構成的繪圖API。
你需要安裝Python, numpy和matplotlib。
matplotlib的官網是: http://matplotlib.org/ 官網有豐富的圖例和文檔說明。github的地址為:https://github.com/matplotlib 。
matplotlib有一套完全仿照MATLAB的函數形式的繪圖接口,在matplotlib.pyplot模塊中。這套函數接口方便MATLAB用戶過度到matplotlib包。下面,我們調用該模塊繪制一條直線。
# a strait line: use pyplot functions
from matplotlib.pyplot import *
plot([0, 1], [0, 1]) # plot a line from (0, 0) to (1, 1)
title("a strait line")
xlabel("x value")
ylabel("y value")
savefig("demo.jpg")
下面是各個元素的注解:
如下的一些圖也可以很方便地繪制出來:
代碼:
import matplotlib.pyplot as plt
# 1D data
x = [1,2,3,4,5]
y = [2.3,3.4,1.2,6.6,7.0]
plt.figure(figsize=(12,6))
plt.subplot(231)
plt.plot(x,y)
plt.title("plot")
plt.subplot(232)
plt.scatter(x, y)
plt.title("scatter")
plt.subplot(233)
plt.pie(y)
plt.title("pie")
plt.subplot(234)
plt.bar(x, y)
plt.title("bar")
# 2D data
import numpy as np
delta = 0.025
x = y = np.arange(-3.0, 3.0, delta)
X, Y = np.meshgrid(x, y)
Z = Y**2 + X**2
plt.subplot(235)
plt.contour(X,Y,Z)
plt.colorbar()
plt.title("contour")
# read image
import matplotlib.image as mpimg
img=mpimg.imread('marvin.jpg')
plt.subplot(236)
plt.imshow(img)
plt.title("imshow")
plt.savefig("matplot_sample.jpg")
以上就是matplotlib的一些基本介紹,大家如果需要用到什么圖的話可以在官網上查看相關使用方法,今天的介紹就是這些。