Matplotlib庫學習

Matplotlib庫學習

來自專欄 Python程序員12 人贊了文章

可視化是數據科學中很重要的一個步驟,能夠為結果和過程提供一個非常好的展示效果,增加可信度。在Python中matolotlib是一個非常強大的圖形庫。照舊我們先對導入庫進行規範:

import matplotlib.pyplot as pltimport numpy as np

1、基本圖像

Matplotlib畫圖主要是有Figure和axes對象。一般使用subplot進行整個圖像的分配較為方便。

fig = plt.figure() #創建一個新的圖像plt.subplot(2,2,1) #給圖像劃分區域x = np.linspace(0,10,200)plt.plot(x,x**2,x,x)plt.subplot(2,2,2)plt.plot(x,x**3)plt.subplot(2,1,2)plt.plot(x,np.sin(x))plt.show()

2、其他形式圖

掌握了基本的畫圖結構,我們就來看一下各種各樣的圖像,直方圖,散點圖等。

X = np.random.randn(1024)Y = np.random.randn(1024)plt.scatter(X,Y) #散點圖plt.scatter(X,Y+1)plt.show()

x = np.arange(10)y = 10*np.random.rand(10)plt.bar(x,y) #直方圖plt.show()

3、線條和注釋

我們也能夠畫出來一些圖了,不過好像還不夠,如果我們想控制一下顏色線形和標記怎麼辦呢?下面介紹plot的一些參數。

plt.plot(x,y,go--) #參數分為顏色color,linestyle,marker這可以放在一塊寫plt.grid(True)plt.show()

  1. 線型:

    - 實線

    -- 虛線

    -. 點線

    : 點虛線
  2. 標記:

    . 點

    , 像素

    o 圓形

    v 朝下的三角形

    ^ 朝上的三角形

    < 朝左的三角形

    > 朝右的三角形

    s 正方形

    p 五角形

    * 星型

    h 1號六角形

    H 2號六角形

    + +號標記

    x x號標記

    D 鑽石形

    d 小版鑽石形

    | 垂直線形

    _ 水平線行
  3. 顏色:

    『b』藍色

    『g』綠色

    『r』紅色

    『c』青色

    『m』品紅

    『y』黃色

    『k』黑色

    『w』白色

我們基本可以畫出我們想要的圖像了,但是如果我想對刻度,對圖做一些解釋說明的話,我們就要使用其他的一些性質。使用set_xticks,set_xticklabels,set_xlabel,set_title,對於Y軸的操作同理。

import matplotlib.pylab as pylabpylab.mpl.rcParams[font.sans-serif] = [SimHei] #解決不顯示中文pylab.mpl.rcParams[axes.unicode_minus] = False #解決保存圖像是負號-顯示為方塊的問題 fig = plt.figure()ax = plt.subplot(1,1,1)ax.plot(np.random.randn(1000).cumsum())ax.set_xticks([0,250,500,750,1000])ax.set_xticklabels([one,two,three,four,five],rotation = 30)ax.set_title(zhou)ax.set_xlabel(次數)plt.show()

我們已經對圖像有了相當的控制,接下來我們更進一步加上圖例和注釋。圖例本來意思是給每個線進行解釋,從而進行區分。

x = np.linspace(0,10,200)plt.plot(x,np.sin(x),label = sinx)plt.plot(x,np.cos(x),label = cosx)plt.legend() #必須加上表示顯示這個圖例plt.show()

總結:使用Matplotlib的時候要記住他是一個表示x-y關係的展示形式,並沒有特別的結構,所以只要想清楚了x-y的映射即可以畫出我們想要的圖形。

推薦閱讀:

zzz周刊 - 第1058期 - 超能力女兒
祝賀首屆OurwayBI可視化大賽圓滿結束!
數字理想獲得哈工大Pre-A輪投資 專註數據可視化解決方案
10分鐘搞定大屏設計,多虧了這個功能!

TAG:Matplotlib | Python | 可視化 |