【Matplotlib-01】Python 繪圖庫 Matplotlib 入門教程

環境:html

Windows10
python3.6.4
numpy1.14.1
matplotlib2.1.2
工具:Cmder

目錄:python

1.線性圖
2.散點圖
3.餅狀圖
4.條形圖
5.直方圖

 

 

例1:一條簡單的線性直線api

import matplotlib.pyplot as plt  
import numpy as np  
  
data = np.arange(100, 201)   ##能夠嘗試改下範圍值看看圖片有什麼變話
plt.plot(data)  
plt.show()  

注:數組

1.經過np.arange(100, 201)生成一個[100, 200]之間的整數數組,它的值是:[100, 101, 102, … , 200]
2.經過matplotlib.pyplot將其繪製出來。
  很顯然,繪製出來的值對應了圖中的縱座標(y軸)。
  而matplotlib自己爲咱們設置了圖形的橫座標(x軸):[0, 100],由於咱們恰好有100個數值 3.經過plt.show()將這個圖形顯示出來

 

 

例2:一次畫多個直線dom

import matplotlib.pyplot as plt
import numpy as np

data = np.arange(100, 201)
plt.plot(data)

data2 = np.arange(200, 301)
plt.figure()
plt.plot(data2)

plt.show()

例2~:畫在同一個畫板中函數

import matplotlib.pyplot as plt
import numpy as np

data = np.arange(100, 201)
plt.subplot(2, 1, 1)
plt.plot(data)

data2 = np.arange(200, 301)
plt.subplot(2, 1, 2)
plt.plot(data2)

plt.show()

plt.subplot(2, 1, 1) Return a subplot axes at the given grid position.

建立一個2行1列的圖片,並在第一個位置【第1行第1列】中準備建立一個圖工具

 

 

例3:線型圖【比起例1來講,咱們x,y都是已有的】spa

import matplotlib.pyplot as plt

plt.plot([1, 2, 3], [3, 6, 9], '-r')
plt.plot([1, 2, 3], [2, 4, 9], ':g')

plt.show()

1.plot函數的第一個數組是橫軸的值,第二個數組是縱軸的值,因此它們一個是直線,一個是折線;
2.最後一個參數是由兩個字符構成的,分別是線條的樣式和顏色。
  前者是紅色的直線,後者是綠色的點線。

注:API:matplotlib.pyplot.plot 文檔.net

 

 

例4:散點圖【藉助於scatter函數繪製散點】code

import matplotlib.pyplot as plt
import numpy as np

N = 20
##plt.scatter(x,y,color顏色,size大小,alpha透明度)
plt.scatter(np.random.rand(N) * 100, np.random.rand(N) * 100, c='r', s=100, alpha=0.5)
plt.scatter(np.random.rand(N) * 100, np.random.rand(N) * 100, c='g', s=200, alpha=0.5)
plt.scatter(np.random.rand(N) * 100, np.random.rand(N) * 100, c='b', s=300, alpha=0.5)

plt.show()

注:

1.這幅圖包含了三組數據,每組數據都包含了20個隨機座標的位置
2.參數c表示點的顏色,s是點的大小,alpha是透明度

 注:API:matplotlib.pyplot.scatter 文檔

 

 

例5:餅狀圖【pie函數可用於繪製餅狀圖】

import matplotlib.pyplot as plt
import numpy as np

labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
data = np.random.rand(7) * 100

plt.pie(data, labels=labels, autopct='%1.1f%%')
plt.axis('equal')
plt.legend()

plt.show()

注:

1.data是一組包含7個數據的隨機數值
2.圖中的標籤經過labels來指定
3.autopct指定了數值的精度格式
4.plt.axis('equal')設置了座標軸大小一致
5.plt.legend()指明要繪製圖例(見下圖的右上角)

 

  注:API:matplotlib.pyplot.pie 文檔

 

 

例6:條形圖【bar函數可用於繪製條形圖】

import matplotlib.pyplot as plt
import numpy as np

N = 7

x = np.arange(N)
data = np.random.randint(low=0, high=100, size=N)
colors = np.random.rand(N * 3).reshape(N, -1)
labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
 

plt.title("Weekday Data")
plt.bar(x, data, alpha=0.8, color=colors, tick_label=labels)
plt.show()

注:

1.這幅圖展現了一組包含7個隨機數值的結果,每一個數值是[0, 100]的隨機數
2.它們的顏色也是經過隨機數生成的。
  np.random.rand(N * 3).reshape(N, -1)表示先生成21(N x 3)個隨機數,而後將它們組裝成7行,那麼每行就是三個數,這對應了顏色的三個組成部分RGB。 3.title指定了圖形的標題,labels指定了標籤,alpha是透明度

  注:API:matplotlib.pyplot.bar 文檔

 

 

例7:直方圖【hist函數可用於繪製直方圖】

import matplotlib.pyplot as plt
import numpy as np

data = [np.random.randint(0, n, n) for n in [3000, 4000, 5000]]
labels = ['3K', '4K', '5K']
bins = [0, 100, 500, 1000, 2000, 3000, 4000, 5000]

plt.hist(data, bins=bins, label=labels)
plt.legend()

plt.show()

注:

[np.random.randint(0, n, n) for n in [3000, 4000, 5000]]生成了包含了三個數組的數組,這其中:
    第一個數組包含了3000個隨機數,這些隨機數的範圍是 [0, 3000)
    第二個數組包含了4000個隨機數,這些隨機數的範圍是 [0, 4000)
    第三個數組包含了5000個隨機數,這些隨機數的範圍是 [0, 5000)
bins數組用來指定咱們顯示的直方圖的邊界,即:
[0, 100) 會有一個數據點,
[100, 500)會有一個數據點,以此類推。因此最終結果一共會顯示7個數據點。

 注:API:matplotlib.pyplot.hist 文檔

相關文章
相關標籤/搜索