python画画用哪库好_小白开始学Python最著名的绘图库
原標題:小白開始學Python最著名的繪圖庫
這是菜鳥學Python的第101篇原創(chuàng)文章
數據分析里面可視化是重要的環(huán)節(jié),辛苦把數據采集,然后經歷了很多工序的清洗之后,最后要展現給用戶,最好的方法就是數據可視化。數據可視化是一門藝術也是科學,可視化的神兵利器很多,今天介紹大名鼎鼎的Matplotlib,當然還有懶人專用的pandas畫圖,只要幾行搞定,還有R語言的ggplot2最人性的庫,以及酷炫的JS庫D3.今天就先了解一下Python中最著名的繪圖庫Matplotlib,看看到底如何做出漂亮的圖
有的小伙伴不解,為啥叫它鼻祖的,因為其他的可視化的數據包都是從它演變而來,二次封裝的。Matplotlib本身是免費而且開源的,貌看一下感覺非常復雜,API超級多。小白想學它,必須循環(huán)漸進,不然很容易迷路,不懂章法學到后面會吐,我們先用幾個基本的概念慢慢入手吧
1
基礎知識普及
要點:
Figure
Axes
Axis
Artist
本圖片來自Matplotlib官網
1.Figure
Figure就是上面圖上的紅色框,其實就是圖像,在matplotlib中整個圖像就是一個figure,在figure對象中可以包含一個或者多個Axes對象。而每個Axes對象又擁有自己坐標系統(tǒng)的繪圖區(qū)域
首先要import matplotlib這個庫,沒有的同學可以安裝一下,或者直接用Anaconda這個非常方便的工具(這個工具是個Pycharm齊名的,特別是數據分析的時候)
然后獲得一個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列的圖
構造一個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子圖的標題
3.Axis
axis其實很好理解,就是每個子圖上x軸和y軸上的線,刻度標記,以及刻度標記的注釋,詳細見下圖
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畫一個漂亮的曲線圖
首先用numpy生成一個0,3的序列,步長是0.1
然后plt畫3個數據圖,第一個是線性,第二個是平方指數,第三個是立方指數
設置x和y軸的標簽
plt.legend是設置圖例,上面的3個label設置的'linear','quadratic','cubic'就會顯示在圖例里面
2.pylab
pylab一般用在 IPython用于交互式的繪圖,下面是一個簡單的例子
用法和pyplot模塊非常像,也有plot庫.
結論:
好,數據可視化之matplotlib上手篇,就講道這里,是不是覺得還蠻簡單的,其實matplotlib的功能很強大。只要理清楚它的結構,循序漸進的學,你就會發(fā)現matplotlib可以畫出很多美麗的,直觀的2D圖片.當然后面有更牛的js庫D3,二者各有千秋.接下來會介紹matplotlib里面各種花色圖形,敬請期待~~
另外大家猜猜:我最喜歡用哪種數據可視化庫
Matplotlib:
R ggplot2
Pandas
D3
歡迎大家關注 菜鳥學Python",更多好玩有趣的Python原創(chuàng)教程,趣味算法,經驗技巧,行業(yè)動態(tài),盡在菜鳥學Python,一起來學python吧
來源 | 菜鳥學Python
作者 | xinxin
本文章為菜鳥學Python獨家原創(chuàng)稿件,未經授權不得轉載
責任編輯:
總結
以上是生活随笔為你收集整理的python画画用哪库好_小白开始学Python最著名的绘图库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网站开启https后很慢_网站优化中哪些
- 下一篇: java实现数组排序代码_Java使用选