python画画用哪库好_小白开始学Python最著名的绘图库
原標題:小白開始學(xué)Python最著名的繪圖庫
這是菜鳥學(xué)Python的第101篇原創(chuàng)文章
數(shù)據(jù)分析里面可視化是重要的環(huán)節(jié),辛苦把數(shù)據(jù)采集,然后經(jīng)歷了很多工序的清洗之后,最后要展現(xiàn)給用戶,最好的方法就是數(shù)據(jù)可視化。數(shù)據(jù)可視化是一門藝術(shù)也是科學(xué),可視化的神兵利器很多,今天介紹大名鼎鼎的Matplotlib,當然還有懶人專用的pandas畫圖,只要幾行搞定,還有R語言的ggplot2最人性的庫,以及酷炫的JS庫D3.今天就先了解一下Python中最著名的繪圖庫Matplotlib,看看到底如何做出漂亮的圖
有的小伙伴不解,為啥叫它鼻祖的,因為其他的可視化的數(shù)據(jù)包都是從它演變而來,二次封裝的。Matplotlib本身是免費而且開源的,貌看一下感覺非常復(fù)雜,API超級多。小白想學(xué)它,必須循環(huán)漸進,不然很容易迷路,不懂章法學(xué)到后面會吐,我們先用幾個基本的概念慢慢入手吧
1
基礎(chǔ)知識普及
要點:
Figure
Axes
Axis
Artist
本圖片來自Matplotlib官網(wǎng)
1.Figure
Figure就是上面圖上的紅色框,其實就是圖像,在matplotlib中整個圖像就是一個figure,在figure對象中可以包含一個或者多個Axes對象。而每個Axes對象又擁有自己坐標系統(tǒng)的繪圖區(qū)域
首先要import matplotlib這個庫,沒有的同學(xué)可以安裝一下,或者直接用Anaconda這個非常方便的工具(這個工具是個Pycharm齊名的,特別是數(shù)據(jù)分析的時候)
然后獲得一個figure對象fig
然后我們要畫一個二行一列的坐標圖,可以用subplots直接生成一個2*1的2個子圖,2就是表示這個圖像里面有2個坐標圖,1表示是1列
比如想生成多個子圖怎么辦,也很簡單:
subplot(numRows, numCols, plotNum),subplot把整個圖像分成行列式排列.
從左到右排列,比如我們創(chuàng)建一個2*2的多子圖
是不是感覺很漂亮,不急后面還有更多漂亮的圖呢
2.Axes
Axes其實就是子圖,就是一個有x坐標軸和y坐標軸的坐標軸圖.一個figure可以包含多個子圖,通過axes對象可以多軸圖里面進行各種各樣繪圖的操作
先聲明一個figure
然后用add_subplot增加一個子圖ax1,1行1列的圖
構(gòu)造一個x,y的坐標,我們用最簡單的x=[1,2,3,4],y=[2,3,4,5]
下面是最重要的plot函數(shù),這個函數(shù)非常非常重要,參數(shù)很多
第一個和第二個參數(shù)是對應(yīng)的x,y軸上面的坐標數(shù)(1,2),(2,3)..
第三個數(shù)字是坐標圖圖上的曲線類型,這里我們選圓心'o',還有折線
圖'--', 小三角'v',點線':',五角星'*'等等一共有幾十種選擇
后面的參數(shù)都是關(guān)鍵字參數(shù),比如我們這本設(shè)定了顏色是'r'紅色
color='r',還可以設(shè)置線條的寬度linewidth=2
最后設(shè)置一下ax1子圖的標題
3.Axis
axis其實很好理解,就是每個子圖上x軸和y軸上的線,刻度標記,以及刻度標記的注釋,詳細見下圖
Title為標題(我們寫成Simple figure)
Axis為坐標軸,Label為坐標軸標注,Tick為刻度線,Tick Label為刻度注釋
4.Artist
上面所有的圖里面的元素其實都是artist ,總結(jié)一下:一個圖像可以包含一個多個子圖axes,而每個子圖都是一個軸圖,包含了xaxis,yaxis,title和data.Data其實就是我們繪圖的關(guān)鍵數(shù)據(jù).
2
兩個重要的庫
matplotlib里面有兩個非常重要的庫,一個是pyplot ,另一個 pylab,詳細如下:
pyplot模塊:繪圖API,提供了和matlab類似的繪圖API,方便用戶快速繪制2D圖表
pylab模塊:集成庫,主要是包含了Numpy和pyplot中的一些常用函數(shù),方便用戶快速進行計算和繪圖,可以用于IPython中的快速交互式使用
下面舉兩個非常簡單的例子
1.用pyplot畫一個漂亮的曲線圖
首先用numpy生成一個0,3的序列,步長是0.1
然后plt畫3個數(shù)據(jù)圖,第一個是線性,第二個是平方指數(shù),第三個是立方指數(shù)
設(shè)置x和y軸的標簽
plt.legend是設(shè)置圖例,上面的3個label設(shè)置的'linear','quadratic','cubic'就會顯示在圖例里面
2.pylab
pylab一般用在 IPython用于交互式的繪圖,下面是一個簡單的例子
用法和pyplot模塊非常像,也有plot庫.
結(jié)論:
好,數(shù)據(jù)可視化之matplotlib上手篇,就講道這里,是不是覺得還蠻簡單的,其實matplotlib的功能很強大。只要理清楚它的結(jié)構(gòu),循序漸進的學(xué),你就會發(fā)現(xiàn)matplotlib可以畫出很多美麗的,直觀的2D圖片.當然后面有更牛的js庫D3,二者各有千秋.接下來會介紹matplotlib里面各種花色圖形,敬請期待~~
另外大家猜猜:我最喜歡用哪種數(shù)據(jù)可視化庫
Matplotlib:
R ggplot2
Pandas
D3
歡迎大家關(guān)注 菜鳥學(xué)Python",更多好玩有趣的Python原創(chuàng)教程,趣味算法,經(jīng)驗技巧,行業(yè)動態(tài),盡在菜鳥學(xué)Python,一起來學(xué)python吧
來源 | 菜鳥學(xué)Python
作者 | xinxin
本文章為菜鳥學(xué)Python獨家原創(chuàng)稿件,未經(jīng)授權(quán)不得轉(zhuǎn)載
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的python画画用哪库好_小白开始学Python最著名的绘图库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网站开启https后很慢_网站优化中哪些
- 下一篇: python pip gpl_pytho