目錄
- 一、前言
- 二、線型圖
- 三、線條顏色、標記形狀和線型
- 四、標簽和圖例
- 五、子圖
- 六、散點圖
- 七、直方圖
- 八、餅圖
一、前言
Matplotlib是Python的繪圖庫,不僅具備強大的繪圖功能,還能夠在很多平臺上使用,和Jupyter Notebook有極強的兼容性。
二、線型圖
import matplotlib.pyplot as plt
import numpy as np
# 指定生成隨機數(shù)的種子,這樣每次運行得到的隨機數(shù)都是相同的
np.random.seed(42)
# 生成30個滿足平均值為0、方差為1的正態(tài)分布的樣本
x = np.random.randn(30)
# plot本意有“繪制(圖表)”的意思,所以下面這一行代碼是繪制圖表。r指定繪制的線條顏色為紅色,o指定標記實際點使用的形狀為圓形,--指定線條形狀為虛線
plt.plot(x, "r--o")
# 顯示圖表
plt.show()
三、線條顏色、標記形狀和線型
線條顏色常用參數(shù):
- “b”:指定繪制的線條顏色為藍色。
- “g”:指定繪制的線條顏色為綠色。
- “r”:指定繪制的線條顏色為紅色。
- “c”:指定繪制的線條顏色為藍綠色。
- “m”:指定繪制的線條顏色為洋紅色。
- “y”:指定繪制的線條顏色為黃色。
- “k”:指定繪制的線條顏色為黑色。
- “w”:指定繪制的線條顏色為白色。
標記形狀常用參數(shù):
- “o”:指定標記實際點使用的形狀為圓形。
- “*”:指定標記實際點使用的形狀為星形。
- “+”:指定標記實際點使用的形狀為加號形狀。
- “x”:指定標記實際點使用的形狀為x形狀。
線型常用參數(shù):
- “-”:指定線條形狀為實線。
- “–”:指定線條形狀為虛線。
- “-.”:指定線條形狀為點實線。
- “:”:指定線條形狀為點線。
import matplotlib.pyplot as plt
import numpy as np
# 未指定種子的值,所以最終產(chǎn)生的隨機數(shù)不同
# randn()生成30個滿足平均值為0、方差為1的正態(tài)分布的樣本
a = np.random.randn(30)
b = np.random.randn(30)
c = np.random.randn(30)
d = np.random.randn(30)
# a:紅色,虛線,圓形;b:藍色,實線,星號;c:綠色,點實線,加號;d:洋紅色,點線,x形狀
plt.plot(a, "r--o", b, "b-*", c, "g-.+", d, "m:x")
plt.show(
四、標簽和圖例
為了讓繪制的圖像更易理解,我們可以增加一些繪制圖像的說明,一般是添加圖像的軸標簽和圖例,如下面的例子所示:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(42)
x = np.random.randn(30)
y = np.random.randn(30)
# 圖表標題
plt.title("Example")
# 圖表標簽
plt.xlabel("X")
plt.ylabel("Y")
# X, Y后面的逗號去掉會報出警告
X, = plt.plot(x, "r--o")
Y, = plt.plot(y, "b-*")
# 圖例顯示(顯示圖片右上角的圖例)
# legend()有兩個列表參數(shù),第一個列表參數(shù)是圖中實際使用的標記和線性,第二個列表參數(shù)是對應圖例的文字描述
# legend本意:傳奇、圖例、解釋、說明,這里是圖例的意思
plt.legend([X, Y], ["X", "Y"])
plt.show()
五、子圖
當需要將多個圖像同時在不同的位置顯示,則需要用到子圖(Subplot)的功能。
import matplotlib.pyplot as plt
import numpy as np
# 未指定隨機數(shù)種子的值
a = np.random.randn(30)
b = np.random.randn(30)
c = np.random.randn(30)
d = np.random.randn(30)
# 定義一個實例fig,相當于子圖最外面的大圖
fig = plt.figure()
# 向fig實例中添加需要的子圖,前兩個參數(shù)表示把大圖分成了2行2列,最后一個參數(shù)表示使用哪一張子圖進行繪制
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)
ax4 = fig.add_subplot(2, 2, 4)
# 設(shè)置圖例
A, = ax1.plot(a, "r--o")
ax1.legend([A], ["A"])
B, = ax2.plot(b, "b-*")
ax2.legend([B], ["B"])
C, = ax3.plot(c, "g-.+")
ax3.legend([C], ["C"])
D, = ax4.plot(d, "m:x")
ax4.legend([D], ["D"])
plt.show()
六、散點圖
如果需要獲取的是一些散點數(shù)據(jù),則可以通過繪制散點圖(Scatter)來展示數(shù)據(jù)的分布和布局。
import matplotlib.pyplot as plt
import numpy as np
# 設(shè)置隨機數(shù)種子的值
np.random.seed(42)
x = np.random.randn(30)
y = np.random.randn(30)
# 散點圖,scatter()的參數(shù)必須同時含有x, y
plt.scatter(x, y, c = 'g', marker='o', label = "(X, Y)")
# 散點圖的標題
plt.title("Example")
# 設(shè)置坐標軸的標簽
plt.xlabel("X")
plt.ylabel("Y")
# 設(shè)置圖例,loc=0表示使用最好的位置,loc=1強制圖例使用圖中右上角的位置,loc=2強制使用左上角位置,loc=3強制使用左下角位置,loc=4強制使用右下角位置
plt.legend(loc = 1)
# 顯示圖像
plt.show()
scatter()方法中特別需要注意的參數(shù):
- “c”:指定散點圖中繪制的參數(shù)使用哪種顏色,這與第2部分線條常用參數(shù)相,所以這里g表示設(shè)置為綠色。
- “marker”:指定散點圖中繪制的參數(shù)點使用哪種形狀,和第2部分標記形狀常用參數(shù)相同,所以這里o表示設(shè)置為圓形。
- “l(fā)abel”:指定在散點圖中繪制的參數(shù)使用的圖例,這里與第3部分圖例有所不同,注意區(qū)別。
七、直方圖
直方圖(Histogram)是一種統(tǒng)計報告圖,通過使用一些列高度不等的縱向條紋或直方表示數(shù)據(jù)分布的情況,一般用橫軸表示數(shù)據(jù)類型,縱軸表示分布情況。下面來看具體實例:
import matplotlib.pyplot as plt
import numpy as np
# 指定隨機數(shù)種子的值
np.random.seed(42)
x = np.random.randn(1000)
# 直方圖,bins表示繪制的直方圖的條紋的數(shù)量;color表示直方圖條紋的顏色,g表示綠色
plt.hist(x, bins = 20, color = 'g')
# 設(shè)置標題
plt.title("Example")
# 設(shè)置坐標軸標簽
plt.xlabel("X")
plt.ylabel("Y")
# 顯示圖像
plt.show()
八、餅圖
import matplotlib.pyplot as plt
# 標簽
labels = ['Dos', 'Cats', 'Birds']
# sizes的三個數(shù)字確定了每部分數(shù)據(jù)系列在整個圓形中的占比
sizes = [15, 50, 35]
# 餅圖,explode定義每部分數(shù)據(jù)系列之間的間隔,設(shè)置兩個0和一個0.1,就能突出第三部分;autopct將sizes中的數(shù)據(jù)以所定義的浮點數(shù)精度進行顯示;
# startangle是繪制第一塊餅圖時,該餅圖與X軸正方向的夾角度數(shù),這是設(shè)置90度,默認是0度。
plt.pie(sizes, explode = (0, 0, 0.1), labels = labels, autopct = '%1.1f%%', startangle = 90)
# 下面的一行代碼必須存在,用于使X軸和Y軸的刻度時刻保持一致,只有這樣,最后得到的餅圖才是圓的
plt.axis('equal')
# 顯示圖像
plt.show()
到此這篇關(guān)于Python繪圖庫Matplotlib的基本用法的文章就介紹到這了,更多相關(guān)Python Matplotlib的用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python matplotlib可視化繪圖詳解
- Python繪圖之詳解matplotlib
- Python matplotlib實用繪圖技巧匯總
- python matplotlib繪圖實現(xiàn)刪除重復冗余圖例的操作
- python 繪圖模塊matplotlib的使用簡介
- Python matplotlib繪圖詳解