Python matplotlib
[Python][Python NumPy]
[グラフ]
Install
- ubuntu で apt-get を利用してインストール
sudo apt-get install python-matplotlib
# pip install matplotlib # pip install python-dateutil # pip install pyparsing
- Windows で パッケージをダウンロードしてインストール
- http://matplotlib.org/downloads.html からダウンロード
- Microsoft Visual C++ Compiler for Python 2.7
- tcl ライブラリが見つからないエラー
- http://typea.info/blg/glob/2015/07/python-windows-virtualenv-tcl.html
- activate.bat に set "TCL_LIBRARY=C:\Python27\tcl\tcl8.5" を追記
- PIP
C:\Python27\Scripts>pip install matplotlib C:\Python27\Scripts>pip install python-dateutil C:\Python27\Scripts>pip install pyparsing
グラフウィンドウ
表示確認
- グラフ描画のバックエンドが何に設定されているのかとウィンドウの表示確認
>>> import matplotlib >>> matplotlib.get_backend() 'TkAgg' >>> import pylab >>> pylab.show() >>> pylab.figure() <matplotlib.figure.Figure object at 0x00000000043979E8> >>> pylab.show()
表示方法を変える
- 以下の中から、matplotlibのバックエンドを設定する
- ['pdf', 'pgf', 'Qt4Agg', 'GTK', 'GTKAgg', 'ps', 'agg', 'cairo', 'MacOSX', 'GTKCairo', 'WXAgg', 'template', 'TkAgg', 'GTK3Cairo', 'GTK3Agg', 'svg', 'WebAgg', 'CocoaAgg', 'emf', 'gdk', 'WX']
- WebAggの例
import matplotlib matplotlib.use("WebAgg") import numpy as np import matplotlib.pyplot as plt import random fig,ax = plt.subplots() ax.bar(np.arange(10),[random.randrange(0,10) for x in range(10)],1) plt.show()
例
- 例1
>>> from pylab import * >>> x = range(10) >>> y = [y1**2 for y1 in x] >>> plot(x, y, 'ro') [<matplotlib.lines.Line2D object at 0x0278D170>] >>> savefig('test.png') >>> show()
- 例2
>>> from pylab import * >>> from numpy import * >>> x = arange(-3,3,.1) >>> y = [y1**3 for y1 in x] >>> plot(x,y) [<matplotlib.lines.Line2D object at 0x02C1C270>] >>> show()
コマンド
http://matplotlib.org/api/pyplot_summary.html
Examples
サンプル
棒グラフ
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> import random >>> random_data = [random.randrange(0,10) for x in range(10)] >>> random_data [0, 1, 8, 4, 5, 9, 8, 0, 4, 7] >>> fig,ax = plt.subplots() >>> ax.bar(np.arange(10),random_data,1) <Container object of 10 artists> >>> plt.show()
YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto
Copyright© 矢木 浩人 All Rights Reserved.