Python繪圖庫Matplotlib的基本用法
Matplotlib是Python的繪圖庫,不僅具備強大的繪圖功能,還能夠在很多平臺上使用,和Jupyter Notebook有極強的兼容性。
二、線型圖import matplotlib.pyplot as pltimport numpy as np# 指定生成隨機數的種子,這樣每次運行得到的隨機數都是相同的np.random.seed(42)# 生成30個滿足平均值為0、方差為1的正態分布的樣本x = np.random.randn(30)# plot本意有“繪制(圖表)”的意思,所以下面這一行代碼是繪制圖表。r指定繪制的線條顏色為紅色,o指定標記實際點使用的形狀為圓形,--指定線條形狀為虛線plt.plot(x, 'r--o')# 顯示圖表plt.show()
線條顏色常用參數:
“b”:指定繪制的線條顏色為藍色。 “g”:指定繪制的線條顏色為綠色。 “r”:指定繪制的線條顏色為紅色。 “c”:指定繪制的線條顏色為藍綠色。 “m”:指定繪制的線條顏色為洋紅色。 “y”:指定繪制的線條顏色為黃色。 “k”:指定繪制的線條顏色為黑色。 “w”:指定繪制的線條顏色為白色。標記形狀常用參數:
“o”:指定標記實際點使用的形狀為圓形。 “*”:指定標記實際點使用的形狀為星形。 “+”:指定標記實際點使用的形狀為加號形狀。 “x”:指定標記實際點使用的形狀為x形狀。線型常用參數:
“-”:指定線條形狀為實線。 “?”:指定線條形狀為虛線。 “-.”:指定線條形狀為點實線。 “:”:指定線條形狀為點線。import matplotlib.pyplot as pltimport numpy as np# 未指定種子的值,所以最終產生的隨機數不同# randn()生成30個滿足平均值為0、方差為1的正態分布的樣本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 pltimport numpy as npnp.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()有兩個列表參數,第一個列表參數是圖中實際使用的標記和線性,第二個列表參數是對應圖例的文字描述# legend本意:傳奇、圖例、解釋、說明,這里是圖例的意思plt.legend([X, Y], ['X', 'Y'])plt.show()
當需要將多個圖像同時在不同的位置顯示,則需要用到子圖(Subplot)的功能。
import matplotlib.pyplot as pltimport numpy as np# 未指定隨機數種子的值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實例中添加需要的子圖,前兩個參數表示把大圖分成了2行2列,最后一個參數表示使用哪一張子圖進行繪制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)# 設置圖例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()
如果需要獲取的是一些散點數據,則可以通過繪制散點圖(Scatter)來展示數據的分布和布局。
import matplotlib.pyplot as pltimport numpy as np# 設置隨機數種子的值np.random.seed(42)x = np.random.randn(30)y = np.random.randn(30)# 散點圖,scatter()的參數必須同時含有x, yplt.scatter(x, y, c = ’g’, marker=’o’, label = '(X, Y)')# 散點圖的標題plt.title('Example')# 設置坐標軸的標簽plt.xlabel('X')plt.ylabel('Y')# 設置圖例,loc=0表示使用最好的位置,loc=1強制圖例使用圖中右上角的位置,loc=2強制使用左上角位置,loc=3強制使用左下角位置,loc=4強制使用右下角位置plt.legend(loc = 1)# 顯示圖像plt.show()
scatter()方法中特別需要注意的參數:
“c”:指定散點圖中繪制的參數使用哪種顏色,這與第2部分線條常用參數相,所以這里g表示設置為綠色。 “marker”:指定散點圖中繪制的參數點使用哪種形狀,和第2部分標記形狀常用參數相同,所以這里o表示設置為圓形。 “label”:指定在散點圖中繪制的參數使用的圖例,這里與第3部分圖例有所不同,注意區別。七、直方圖直方圖(Histogram)是一種統計報告圖,通過使用一些列高度不等的縱向條紋或直方表示數據分布的情況,一般用橫軸表示數據類型,縱軸表示分布情況。下面來看具體實例:
import matplotlib.pyplot as pltimport numpy as np# 指定隨機數種子的值np.random.seed(42)x = np.random.randn(1000)# 直方圖,bins表示繪制的直方圖的條紋的數量;color表示直方圖條紋的顏色,g表示綠色plt.hist(x, bins = 20, color = ’g’)# 設置標題plt.title('Example')# 設置坐標軸標簽plt.xlabel('X')plt.ylabel('Y')# 顯示圖像plt.show()
import matplotlib.pyplot as plt# 標簽labels = [’Dos’, ’Cats’, ’Birds’]# sizes的三個數字確定了每部分數據系列在整個圓形中的占比sizes = [15, 50, 35]# 餅圖,explode定義每部分數據系列之間的間隔,設置兩個0和一個0.1,就能突出第三部分;autopct將sizes中的數據以所定義的浮點數精度進行顯示;# startangle是繪制第一塊餅圖時,該餅圖與X軸正方向的夾角度數,這是設置90度,默認是0度。plt.pie(sizes, explode = (0, 0, 0.1), labels = labels, autopct = ’%1.1f%%’, startangle = 90)# 下面的一行代碼必須存在,用于使X軸和Y軸的刻度時刻保持一致,只有這樣,最后得到的餅圖才是圓的plt.axis(’equal’)# 顯示圖像plt.show()
到此這篇關于Python繪圖庫Matplotlib的基本用法的文章就介紹到這了,更多相關Python Matplotlib的用法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: