更多課程 選擇中心

Python培訓
美國上市教育機構

400-111-8989

Python培訓

小白開始學Python經典的繪圖庫

  • 發布: xinxin
  • 來源:菜鳥學python
  • 時間:2017-08-16 14:10

小白開始學Python最著名的繪圖庫

數據分析里面可視化是重要的環節,辛苦把數據采集,然后經歷了很多工序的清洗之后,最后要展現給用戶,最好的方法就是數據可視化。數據可視化是一門藝術也是科學,可視化的神兵利器很多,今天介紹大名鼎鼎的Matplotlib,當然還有懶人專用的pandas畫圖,只要幾行搞定,還有R語言的ggplot2最人性的庫,以及酷炫的JS庫D3. 今天就先了解一下Python中最著名的繪圖庫Matplotlib,看看到底如何做出漂亮的圖

有的小伙伴不解,為啥叫它鼻祖的,因為其他的可視化的數據包都是從它演變而來,二次封裝的。Matplotlib本身是免費而且開源的,貌看一下感覺非常復雜,API超級多。小白想學它,必須循環漸進,不然很容易迷路,不懂章法學到后面會吐,我們先用幾個基本的概念慢慢入手吧

1

基礎知識普及

要點:

Figure

Axes

Axis

Artist

小白開始學Python經典的繪圖庫

本圖片來自Matplotlib官網

1.Figure

Figure就是上面圖上的紅色框,其實就是圖像,在matplotlib中整個圖像就是一個figure,在figure對象中可以包含一個或者多個Axes對象。而每個Axes對象又擁有自己坐標系統的繪圖區域

小白開始學Python經典的繪圖庫

首先要import matplotlib這個庫,沒有的同學可以安裝一下,或者直接用Anaconda這個非常方便的工具(這個工具是個Pycharm齊名的,特別是數據分析的時候)

然后獲得一個figure對象fig

然后我們要畫一個二行一列的坐標圖,可以用subplots直接生成一個2*1的2個子圖,2就是表示這個圖像里面有2個坐標圖,1表示是1列

比如想生成多個子圖怎么辦,也很簡單:

subplot(numRows, numCols, plotNum),subplot把整個圖像分成行列式排列.

從左到右排列,比如我們創建一個2*2的多子圖

小白開始學Python經典的繪圖庫

是不是感覺很漂亮,不急后面還有更多漂亮的圖呢

2.Axes

Axes其實就是子圖,就是一個有x坐標軸和y坐標軸的坐標軸圖.一個figure可以包含多個子圖,通過axes對象可以多軸圖里面進行各種各樣繪圖的操作

小白開始學Python經典的繪圖庫

先聲明一個figure

然后用add_subplot增加一個子圖ax1,1行1列的圖

構造一個x,y的坐標,我們用最簡單的x=[1,2,3,4],y=[2,3,4,5]

下面是最重要的plot函數,這個函數非常非常重要,參數很多

第一個和第二個參數是對應的x,y軸上面的坐標數(1,2),(2,3)..

第三個數字是坐標圖圖上的曲線類型,這里我們選圓心'o',還有折線

圖'--', 小三角'v',點線':',五角星'*'等等一共有幾十種選擇

后面的參數都是關鍵字參數,比如我們這本設定了顏色是'r'紅色

color='r',還可以設置線條的寬度linewidth=2

最后設置一下ax1子圖的標題

小白開始學Python經典的繪圖庫

3.Axis

axis其實很好理解,就是每個子圖上x軸和y軸上的線,刻度標記,以及刻度標記的注釋,詳細見下圖

小白開始學Python經典的繪圖庫

Title為標題(我們寫成Simple figure)

Axis為坐標軸,Label為坐標軸標注,Tick為刻度線,Tick Label為刻度注釋

4.Artist

上面所有的圖里面的元素其實都是artist ,總結一下:一個圖像可以包含一個多個子圖axes,而每個子圖都是一個軸圖,包含了xaxis,yaxis,title和data.Data其實就是我們繪圖的關鍵數據.

2

兩個重要的庫

matplotlib里面有兩個非常重要的庫,一個是pyplot ,另一個 pylab,詳細如下:

pyplot模塊:繪圖API,提供了和matlab類似的繪圖API,方便用戶快速繪制2D圖表

pylab模塊:集成庫,主要是包含了Numpy和pyplot中的一些常用函數,方便用戶快速進行計算和繪圖,可以用于IPython中的快速交互式使用

下面舉兩個非常簡單的例子

1.用pyplot畫一個漂亮的曲線圖

小白開始學Python經典的繪圖庫

首先用numpy生成一個0,3的序列,步長是0.1

然后plt畫3個數據圖,第一個是線性,第二個是平方指數,第三個是立方指數

設置x和y軸的標簽

plt.legend是設置圖例,上面的3個label設置的'linear','quadratic','cubic'就會顯示在圖例里面

小白開始學Python經典的繪圖庫

2.pylab

pylab一般用在 IPython用于交互式的繪圖,下面是一個簡單的例子

用法和pyplot模塊非常像,也有plot庫.

小白開始學Python經典的繪圖庫
小白開始學Python經典的繪圖庫

結論:

好,數據可視化之matplotlib上手篇,就講道這里,是不是覺得還蠻簡單的,其實matplotlib的功能很強大。只要理清楚它的結構,循序漸進的學,你就會發現matplotlib可以畫出很多美麗的,直觀的2D圖片.當然后面有更牛的js庫D3,二者各有千秋.接下來會介紹matplotlib里面各種花色圖形,敬請期待~~

預約申請免費試聽課

填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

上一篇:Python Web不知道怎么學?看這篇就夠了!
下一篇:學習用 Python 編程時要避免的 3 個錯誤

哪些崗位學了Python更有優勢?

Python中字符串的處理技巧有哪些

零基礎學Python要掌握的小技巧

Python編程中常見的錯誤有哪些?

選擇城市和中心
黑龍江省

吉林省

河北省

湖南省

貴州省

云南省

廣西省

海南省

4438全国大成网人网站