python程式設計基礎:深度學習基礎:繪相簿之matplotlib(1)
matplotlib是python的一個開源的2D繪相簿,它的原作者是John D. Hunter,因為在設計上借鑑了matlab,所以成為matplotlib。和Pillow一樣是被廣泛使用的繪圖功能,而在深度學習相關的部分,matplotlib得寵的多。這篇文章將簡單介紹一下如何安裝以及使用它來畫一些非常常見的統計圖形。
概要資訊
專案 | 說明 |
---|---|
官方網站 | http://matplotlib.org |
開源/閉源 | 開源 |
License類別 | BSD License |
程式碼管理地址 | https://github.com/matplotlib/matplotlib |
開發語言 | Python |
當前穩定版本 | 2.2.2LTS (python2) |
更新頻度 | 平均每季度數次 |
注意事項:由於Python2支援到2020年,很多python庫都開始主要支援python3了,matplotlib的主分支也已經是python3了。而這篇文章中為了簡單,安裝和demo程式碼依然是在python2.7上進行驗證的。
安裝
使用pip install即可直接安裝。安裝日誌如下:
liumiaocn:tmp liumiao$ python -mpip install -U pip
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages (10.0.1)
liumiaocn:tmp liumiao$
liumiaocn:tmp liumiao$ python -mpip install -U matplotlib
Collecting matplotlib
Downloading https://files.pythonhosted.org/packages/61/38/d70e8bf77d5cb27d5f3595edd0b3978825063feadd023786d2591e393e6e/matplotlib-2.2.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (13.7MB)
100% |████████████████████████████████| 13.7MB 2.1MB/s
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
Downloading https://files.pythonhosted.org/packages/6a/8a/718fd7d3458f9fab8e67186b00abdd345b639976bc7fb3ae722e1b026a50/pyparsing-2.2.0-py2.py3-none-any.whl (56kB)
100% |████████████████████████████████| 61kB 5.8MB/s
Collecting backports.functools-lru-cache (from matplotlib)
Downloading https://files.pythonhosted.org/packages/03/8e/2424c0e65c4a066e28f539364deee49b6451f8fcd4f718fefa50cc3dcf48/backports.functools_lru_cache-1.5-py2.py3-none-any.whl
Collecting subprocess32 (from matplotlib)
Downloading https://files.pythonhosted.org/packages/fa/60/b50459f291cae6bc1d0ff711b75e5130684fd3949370fdba78f6c57c1903/subprocess32-3.5.2-cp27-cp27m-macosx_10_6_intel.whl
Collecting pytz (from matplotlib)
Downloading https://files.pythonhosted.org/packages/dc/83/15f7833b70d3e067ca91467ca245bae0f6fe56ddc7451aa0dc5606b120f2/pytz-2018.4-py2.py3-none-any.whl (510kB)
100% |████████████████████████████████| 512kB 8.9MB/s
Requirement not upgraded as not directly required: six>=1.10 in /usr/local/lib/python2.7/site-packages (from matplotlib) (1.11.0)
Collecting python-dateutil>=2.1 (from matplotlib)
Downloading https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl (211kB)
100% |████████████████████████████████| 215kB 7.2MB/s
Collecting kiwisolver>=1.0.1 (from matplotlib)
Downloading https://files.pythonhosted.org/packages/79/d8/94633718f3f77dcb638687a77ba199325a1cb158d2d4b00c9dc17f2b5c72/kiwisolver-1.0.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (110kB)
100% |████████████████████████████████| 112kB 5.9MB/s
Collecting cycler>=0.10 (from matplotlib)
Downloading https://files.pythonhosted.org/packages/f7/d2/e07d3ebb2bd7af696440ce7e754c59dd546ffe1bbe732c8ab68b9c834e61/cycler-0.10.0-py2.py3-none-any.whl
Requirement not upgraded as not directly required: numpy>=1.7.1 in /usr/local/lib/python2.7/site-packages (from matplotlib) (1.14.5)
Requirement not upgraded as not directly required: setuptools in /usr/local/lib/python2.7/site-packages (from kiwisolver>=1.0.1->matplotlib) (39.2.0)
Installing collected packages: pyparsing, backports.functools-lru-cache, subprocess32, pytz, python-dateutil, kiwisolver, cycler, matplotlib
Successfully installed backports.functools-lru-cache-1.5 cycler-0.10.0 kiwisolver-1.0.1 matplotlib-2.2.2 pyparsing-2.2.0 python-dateutil-2.7.3 pytz-2018.4 subprocess32-3.5.2
liumiaocn:tmp liumiao$
確認
liumiaocn:~ liumiao$ pip show matplotlib
Name: matplotlib
Version: 2.2.2
Summary: Python plotting package
Home-page: http://matplotlib.org
Author: John D. Hunter, Michael Droettboom
Author-email: matplotlib-users@python.org
License: BSD
Location: /usr/local/lib/python2.7/site-packages
Requires: pyparsing, backports.functools-lru-cache, subprocess32, pytz, six, python-dateutil, kiwisolver, cycler, numpy
Required-by:
liumiaocn:~ liumiao$
使用
正弦函式
我們使用numpy和matplotlib可以非常簡單地就能夠畫出正弦的波形圖,具體程式碼如下:
liumiaocn:plot liumiao$ cat plot-1.py
#!/usr/local/bin/python
import numpy as np
import matplotlib.pyplot as plot
print("y=sin(x): x with range fo -4pi to 4pi")
x=np.arange(-4*np.pi, 4*np.pi, 0.1)
y=np.sin(x)
#print sin
plot.plot(x,y)
plot.show()
liumiaocn:plot liumiao$
執行&結果確認
liumiaocn:plot liumiao$ python plot-1.py
y=sin(x): x with range fo -4pi to 4pi
直方圖
最簡單的直方圖的做法,可以通過bar或者hist來建立
liumiaocn:plot liumiao$ cat plot-2.py
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(7)
y = (10,15,24,7,14,30,20)
plt.bar(x,y)
plt.show()
liumiaocn:plot liumiao$
餅圖
使用pie函式建立餅圖
liumiaocn:plot liumiao$ cat plot-3.py
#!/usr/local/bin/python
import matplotlib.pyplot as plt
dateinf = '06/01', '06/02', '06/03', '06/04', '06/05', '06/06', '06/07'
bugnums = [11,22,7,29,24,15,18]
plt.pie(bugnums, labels=dateinf)
plt.show()
liumiaocn:plot liumiao$
相關文章
- Matplotlib繪圖基礎繪圖
- Matplotlib基礎繪圖功能繪圖
- 深度學習基礎之 Dropout深度學習
- 大資料分析/機器學習基礎之matplotlib繪圖篇大資料機器學習繪圖
- python基礎學習1Python
- python程式設計基礎Python程式設計
- 深度學習基礎深度學習
- Python學習之旅(核心程式設計基礎篇6基礎資料型別③)Python程式設計資料型別
- 如何以零基礎學習Python程式設計?Python程式設計
- 程式設計零基礎應當如何學習Python?Python學習程式設計Python
- pandas學習之Python基礎Python
- 杭州學習ui設計需要繪畫基礎嗎?UI
- Python程式設計會用到哪些軟體?Python基礎學習Python程式設計
- python 程式設計基礎案例Python程式設計
- 深度學習--RNN基礎深度學習RNN
- python基礎學習之 特徵工程Python特徵工程
- Python基礎學習之迴圈Python
- 5-Windows程式設計 -繪圖基礎Windows程式設計繪圖
- python基礎學習Python
- 【機器學習基礎】神經網路/深度學習基礎機器學習神經網路深度學習
- 【深度學習基礎-12】多元迴歸分析基礎及進階-python程式碼實現深度學習Python
- python 基礎習題1--基礎語法Python
- java程式設計師程式設計筆試基礎學習Java程式設計師筆試
- 零基礎學it怎麼學?Python開發程式設計學習Python程式設計
- Python-matplotlib-入門教程(一)-基礎圖表繪製Python
- 學Python,不需要有程式設計基礎!Python程式設計
- DL-深度學習基礎深度學習
- 深度學習及pytorch基礎深度學習PyTorch
- 零基礎學習 Python 之字串Python字串
- 程式設計零基礎應該如何開始學習Python?程式設計Python
- 程式設計零基礎應當如何開始學習 Python?程式設計Python
- 學Python程式設計有什麼用?Python基礎教程!Python程式設計
- Python演算法學習1-Python基礎Python演算法
- Python 繪相簿 Matplotlib 入門教程Python
- 學程式設計要什麼基礎,零基礎呢?程式設計
- Python基礎學習篇Python
- python基礎學習2Python
- python基礎學習五Python