Python繪圖庫Matplotlib的基本用法
一、前言
Matplotlib是Python的繪圖庫,不僅具備強(qiáng)大的繪圖功能,還能夠在很多平臺上使用,和Jupyter Notebook有極強(qiáng)的兼容性。
二、線型圖
import matplotlib.pyplot as plt import numpy as np # 指定生成隨機(jī)數(shù)的種子,這樣每次運(yùn)行得到的隨機(jī)數(shù)都是相同的 np.random.seed(42) # 生成30個滿足平均值為0、方差為1的正態(tài)分布的樣本 x = np.random.randn(30) # plot本意有“繪制(圖表)”的意思,所以下面這一行代碼是繪制圖表。r指定繪制的線條顏色為紅色,o指定標(biāo)記實際點使用的形狀為圓形,--指定線條形狀為虛線 plt.plot(x, "r--o") # 顯示圖表 plt.show()

三、線條顏色、標(biāo)記形狀和線型
線條顏色常用參數(shù):
- “b”:指定繪制的線條顏色為藍(lán)色。
- “g”:指定繪制的線條顏色為綠色。
- “r”:指定繪制的線條顏色為紅色。
- “c”:指定繪制的線條顏色為藍(lán)綠色。
- “m”:指定繪制的線條顏色為洋紅色。
- “y”:指定繪制的線條顏色為黃色。
- “k”:指定繪制的線條顏色為黑色。
- “w”:指定繪制的線條顏色為白色。
標(biāo)記形狀常用參數(shù):
- “o”:指定標(biāo)記實際點使用的形狀為圓形。
- “*”:指定標(biāo)記實際點使用的形狀為星形。
- “+”:指定標(biāo)記實際點使用的形狀為加號形狀。
- “x”:指定標(biāo)記實際點使用的形狀為x形狀。
線型常用參數(shù):
- “-”:指定線條形狀為實線。
- “–”:指定線條形狀為虛線。
- “-.”:指定線條形狀為點實線。
- “:”:指定線條形狀為點線。
import matplotlib.pyplot as plt import numpy as np # 未指定種子的值,所以最終產(chǎn)生的隨機(jī)數(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:藍(lán)色,實線,星號;c:綠色,點實線,加號;d:洋紅色,點線,x形狀 plt.plot(a, "r--o", b, "b-*", c, "g-.+", d, "m:x") plt.show(

四、標(biāo)簽和圖例
為了讓繪制的圖像更易理解,我們可以增加一些繪制圖像的說明,一般是添加圖像的軸標(biāo)簽和圖例,如下面的例子所示:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(42)
x = np.random.randn(30)
y = np.random.randn(30)
# 圖表標(biāo)題
plt.title("Example")
# 圖表標(biāo)簽
plt.xlabel("X")
plt.ylabel("Y")
# X, Y后面的逗號去掉會報出警告
X, = plt.plot(x, "r--o")
Y, = plt.plot(y, "b-*")
# 圖例顯示(顯示圖片右上角的圖例)
# legend()有兩個列表參數(shù),第一個列表參數(shù)是圖中實際使用的標(biāo)記和線性,第二個列表參數(shù)是對應(yīng)圖例的文字描述
# legend本意:傳奇、圖例、解釋、說明,這里是圖例的意思
plt.legend([X, Y], ["X", "Y"])
plt.show()

五、子圖
當(dāng)需要將多個圖像同時在不同的位置顯示,則需要用到子圖(Subplot)的功能。
import matplotlib.pyplot as plt import numpy as np # 未指定隨機(jī)數(shù)種子的值 a = np.random.randn(30) b = np.random.randn(30) c = np.random.randn(30) d = np.random.randn(30) # 定義一個實例fig,相當(dāng)于子圖最外面的大圖 fig = plt.figure() # 向fig實例中添加需要的子圖,前兩個參數(shù)表示把大圖分成了2行2列,最后一個參數(shù)表示使用哪一張子圖進(jìn)行繪制 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è)置隨機(jī)數(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)")
# 散點圖的標(biāo)題
plt.title("Example")
# 設(shè)置坐標(biāo)軸的標(biāo)簽
plt.xlabel("X")
plt.ylabel("Y")
# 設(shè)置圖例,loc=0表示使用最好的位置,loc=1強(qiáng)制圖例使用圖中右上角的位置,loc=2強(qiáng)制使用左上角位置,loc=3強(qiáng)制使用左下角位置,loc=4強(qiáng)制使用右下角位置
plt.legend(loc = 1)
# 顯示圖像
plt.show()

scatter()方法中特別需要注意的參數(shù):
- “c”:指定散點圖中繪制的參數(shù)使用哪種顏色,這與第2部分線條常用參數(shù)相,所以這里g表示設(shè)置為綠色。
- “marker”:指定散點圖中繪制的參數(shù)點使用哪種形狀,和第2部分標(biāo)記形狀常用參數(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
# 指定隨機(jī)數(shù)種子的值
np.random.seed(42)
x = np.random.randn(1000)
# 直方圖,bins表示繪制的直方圖的條紋的數(shù)量;color表示直方圖條紋的顏色,g表示綠色
plt.hist(x, bins = 20, color = 'g')
# 設(shè)置標(biāo)題
plt.title("Example")
# 設(shè)置坐標(biāo)軸標(biāo)簽
plt.xlabel("X")
plt.ylabel("Y")
# 顯示圖像
plt.show()

八、餅圖
import matplotlib.pyplot as plt
# 標(biāo)簽
labels = ['Dos', 'Cats', 'Birds']
# sizes的三個數(shù)字確定了每部分?jǐn)?shù)據(jù)系列在整個圓形中的占比
sizes = [15, 50, 35]
# 餅圖,explode定義每部分?jǐn)?shù)據(jù)系列之間的間隔,設(shè)置兩個0和一個0.1,就能突出第三部分;autopct將sizes中的數(shù)據(jù)以所定義的浮點數(shù)精度進(jìn)行顯示;
# startangle是繪制第一塊餅圖時,該餅圖與X軸正方向的夾角度數(shù),這是設(shè)置90度,默認(rèn)是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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python編程實現(xiàn)小姐姐跳舞并生成詞云視頻示例
本文用Python做了一個詞云視頻,以另一種角度來看小姐姐跳舞視頻左半部分是小姐姐跳舞視頻,右半部分是根據(jù)動作生成的的詞云視頻,有需要的朋友可以借鑒參考下2021-10-10
一文搞懂???????python可迭代對象,迭代器,生成器,協(xié)程
這篇文章主要介紹了一文搞懂???????python可迭代對象,迭代器,生成器,協(xié)程,微博吱嘎部分圍繞主題展開詳細(xì)介紹,需要的小伙伴可以參考一下2022-05-05
Python使用ctypes調(diào)用C/C++的方法
今天小編就為大家分享一篇關(guān)于Python使用ctypes調(diào)用C/C++的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01
Python數(shù)據(jù)分析之?Pandas?Dataframe合并和去重操作
這篇文章主要介紹了Python數(shù)據(jù)分析之?Pandas?Dataframe合并和去重操作,文章基于python的相關(guān)資料展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-05-05

