天天看點

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

資料可視化是資料分析的最後一步,隻有完成這一步才能把資料的資訊清晰明了的傳遞出來,這一節我們将使用python将最簡單的2D圖表制作出來。

第三節 資料可視化之Matplotlib 初識(上)

目錄

一. Matplotlib簡介

二. 繪制折線圖

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

➡ 一.Matplotlib簡介

Matplotlib 是 Python 中常用的 2D 繪圖庫,它能輕松地将資料進行可視化,作出精美的圖表。Matplotlib 這個子產品很龐大,最常用的是其中一個子子產品——pyplot,通常這樣導入它:

import matplotlib.pyplot as plt
           

導入之後就可以利用Matplotlib的pyplot子子產品來進行畫圖了,我們先來畫一個三角函數的函數圖像看一下效果:

(小貼士:可利用Anaconda進行程式設計做圖,沒有安裝的小朋友可以關注公衆号回複python擷取安裝包哦)

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

我們來看一下每一行代碼的作用:

  1. 因為需要用到數組,是以我們需要import numpy, 不了解numpy的同學可以看一下前兩節的内容~
  2. x = np.arange(0, 2 * np.pi, 0.1),這也是前兩節所學的内容,目的是導入數組,np.pi 就是 π 的值。這行代碼生成的是0到 2π 的數組,步長是 0.1。如果不明白我們把x的值輸出一下看一下:
    anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...
  3. 步長為0.1是為了讓每個點的間隔小一點,點的數量多一些,這樣畫出的圖像更加接近真實情況,也更加的平滑。
  4.  y = np.sin(x)。np.sin() 方法是 numpy 中計算正弦函數的方法,我們将 x 的值傳進去就得到對應的正弦值。
  5. 有了 x 和 y 的值之後,将其分别傳入 plt.plot() 方法,pyplot 會将其轉換成對應的坐标。
  6. 将這些坐标連成線就得到了函數的圖像,最後調用 plt.show() 方法就能将圖像顯示出來了。

上面的例子是畫了一個函數圖像,如果我們要同時畫兩個函數圖像呢?

很簡單,我們隻需要輸入兩個因變量y的表達式,重複代碼即可:

下面的示範是同時畫出sin(x)函數和cos(x)函數

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

代碼裡面的plt.plot(x, y1, x, y2)也可以一個一個寫出來:

plt.plot(x, y1)plt.plot(x, y2)
           

其實對于每一對 x 和 y,還有一個可選的格式化參數,用來指定線條的顔色、點标記和線條的類型。

x = np.arange(0, 2 * np.pi, 0.1)y1 = np.sin(x)y2 = np.cos(x)plt.plot(x, y1, 'ro--')  # 正弦函數圖像plt.plot(x, y2, 'b*-.')  # 餘弦函數圖像# 等價于 plt.plot(x, y1, 'ro--', x, y2, 'b*-.')plt.show()
           

生成的圖下如下:

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

圖像的樣子是由格式化參數決定的,例如正弦函數的格式化參數'ro--',r代表紅色(red),o代表圓點标記,--代表着虛線。是以'ro--'代表線條為紅色虛線、坐标點标記為圓點。

下圖列出了常用格式化參數的含義:

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

➡ 二. 繪制折線圖

其實學完了前面的内容就已經掌握了做圖的基本畫法了,隻不過要再學習幾個python語句罷了

我們還是先來看例子

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

上面是某商品一周的銷量走勢。x 軸傳入時間,y 軸傳入對應的銷量,應該不難了解。因為圖中有中文,是以需要通過 plt.rcParams['font.family'] = ['arial unicode ms'] 來設定中文字型,否則中文将會亂碼。

arial unicode ms是Anaconda 環境裡面安裝的中文字型,其他環境不一定适用哦~可以通過如下代碼來檢視所使用環境安裝的字型

import matplotlib.font_manager as fmfor font in fm.fontManager.ttflist:  print(font.name)
           

畫出多條曲線跟前面講的同理,隻需:

plt.plot(x,y1)plt.plot(x,y2)...
           

另外介紹一下加圖例的方法,在調用 plt.plot() 方法時傳入 label 參數,接着調用 plt.legend() 方法顯示圖例即可。

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

這樣,我們就能一眼看出每條線所對應的商品。我們還可以看到,圖例被放在了圖表的左上方,圖例位置其實是可以設定的,不設定的情況下 matplotlib 會幫你自動找一個合适的位置放置。

如果想自行選擇圖例位置的話可以通過 

plt.legend()

 方法的 

loc

 參數實作,

loc

 參數共有如下 11 種方式可供選擇:

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

如果我們想将圖例放到右下角就可以這麼寫:

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

到這裡就結束了嗎?不,還沒有!我們還可以通過 plt.xlabel() 和 plt.ylabel() 方法來設定 x 軸和 y 軸的标簽,還能通過 plt.title() 給圖表設定标題。我們來看一下具體用法:

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...

下一節将繼續介紹柱狀圖和餅圖的繪制,敬請期待~

?

長按關注公衆号

歡迎留言交流

anaconda matplotlib 輸出動畫_Python資料分析第三節 資料可視化之Matplotlib 初識(上)...