探検
Matplotlib でグラフプログラミング【Python】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2009/10/24(土) 21:06:22高機能で柔軟性があり、使い易く、数式表示がデフォルトで可能で、
美しいグラフが作成できる人気のグラフライブラリである Matplotlib
のスレッドです。
ギャラリー
http://matplotlib.sourceforge.net/gallery.html
http://matplotlib.sourceforge.net/users/screenshots.html
ユーザーズガイド
http://matplotlib.sourceforge.net/contents.html
ダウンロード
http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-0.99.1/
2009/10/24(土) 21:07:25
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
3デフォルトの名無しさん
2009/10/24(土) 21:07:30 http://pc12.2ch.net/test/read.cgi/unix/1164719425/708 より:
gnuplot vs matplotlib
2Dプロット系: "できること" で言えば、パイチャートなどがデフォルト
でプロットできる matplotlib の方が上。ちょっと混み入った設定や
アノテーションの加え方も matplotlib の方が楽。
3Dプロット系: 完成度と速度の面で gnuplot の勝ち。
プロットプログラムの再利用性: これは matplotlib の余裕勝ち。
見た目の綺麗さ: matplotlibではデフォでグラフにアンチエイリアスや
ヒンティングがかかっている。gnuplot だと wx 末端を使えば
matplotlibのそれとほとんど同様になるが、他の末端も
含めて評価するとmatplotlibに軍配が上がる。
数式: TeXのフォントがデフォルトで入っていて、インストール直後
LaTeXのインストール無しでも即効TeXと同じように書けるので matplotlib の勝ち。
結論としては、多種多様のプロットを生成したいのであれば、
matplotlibを使った方が長期的に見て効率が良さそう。特に python 使い
であれば、断然 matplotlib の方が有利。それと、gnuplotはあまり融通
が効かず、ちょっとした変更が時に面倒だったり、"できそうでできない"
ことが何気に結構あったりしたが、matplotlibなら、その心配は無さそう。
しかし、「簡単にsin(x)のプロットが作れればいいやー」程度のユーザーなら、
gnuplotでいいと思うし、そういった単純なグラフなら gnuplot の方が簡単。
gnuplot vs matplotlib
2Dプロット系: "できること" で言えば、パイチャートなどがデフォルト
でプロットできる matplotlib の方が上。ちょっと混み入った設定や
アノテーションの加え方も matplotlib の方が楽。
3Dプロット系: 完成度と速度の面で gnuplot の勝ち。
プロットプログラムの再利用性: これは matplotlib の余裕勝ち。
見た目の綺麗さ: matplotlibではデフォでグラフにアンチエイリアスや
ヒンティングがかかっている。gnuplot だと wx 末端を使えば
matplotlibのそれとほとんど同様になるが、他の末端も
含めて評価するとmatplotlibに軍配が上がる。
数式: TeXのフォントがデフォルトで入っていて、インストール直後
LaTeXのインストール無しでも即効TeXと同じように書けるので matplotlib の勝ち。
結論としては、多種多様のプロットを生成したいのであれば、
matplotlibを使った方が長期的に見て効率が良さそう。特に python 使い
であれば、断然 matplotlib の方が有利。それと、gnuplotはあまり融通
が効かず、ちょっとした変更が時に面倒だったり、"できそうでできない"
ことが何気に結構あったりしたが、matplotlibなら、その心配は無さそう。
しかし、「簡単にsin(x)のプロットが作れればいいやー」程度のユーザーなら、
gnuplotでいいと思うし、そういった単純なグラフなら gnuplot の方が簡単。
2009/10/24(土) 21:14:56
>>1乙。ありがとう!
2009/10/24(土) 21:18:52
自分でスレ立てといて言うのもなんだが、
google、インデックス早っ!
もう既にこのスレが検索結果(結構上位)に引掛ってるし。
ttp://www.google.com/search?q=matplotlib&hl=ja&lr=lang_ja
google、インデックス早っ!
もう既にこのスレが検索結果(結構上位)に引掛ってるし。
ttp://www.google.com/search?q=matplotlib&hl=ja&lr=lang_ja
2009/10/24(土) 21:29:06
Debianでmatplotlibインストールしたら、バージョンが0.98.1だったぁ!
3次元プロットがギリできない〜
3次元プロットがギリできない〜
2009/10/24(土) 21:29:49
三次元空間において、
曲面 z = f(x,y)と
曲面 z = g(x,y)
が交わる曲線をプロットする良い方法はあるかな?
曲面 z = f(x,y)と
曲面 z = g(x,y)
が交わる曲線をプロットする良い方法はあるかな?
2009/10/24(土) 21:34:20
>>7
普通に同じaxesにfとgを加えればいいでしょ。
使ったことないけど、 ax.add_collection3d 見てみれば?
ttp://matplotlib.sourceforge.net/examples/mplot3d/polys3d_demo.html
普通に同じaxesにfとgを加えればいいでしょ。
使ったことないけど、 ax.add_collection3d 見てみれば?
ttp://matplotlib.sourceforge.net/examples/mplot3d/polys3d_demo.html
2009/10/25(日) 01:16:42
これ良くできてるけど、意外と知られてないよね。
gnuplotだけで頑張ってる人は一見の価値あり。
gnuplotだけで頑張ってる人は一見の価値あり。
2009/10/25(日) 09:58:48
gnuplotだと付属のヘルプで大体マスターできるけど、
matplotlibって何か簡潔で分かり易いのない?
matplotlibって何か簡潔で分かり易いのない?
2009/10/25(日) 11:25:20
gnuplotで頑張ってきた人だけど、おもしろそうなので
ちょっと遊んでみます。
ちょっと遊んでみます。
2009/10/25(日) 21:55:41
gnuplotだと『splot 'data.dat' using 5:6:18』とすればプロットしてくれたけど、
こっちでは自分で全部書かないといけないのかな?
自分は↓こうしているんだけど、もっと簡単な方法ってある?
#!/usr/bin/env python
import re
myRegExp = re.compile('^\s*#')
column1 = 5
column2 = 6
column3 = 18
X = []
Y = []
Y = []
fname = open('data.dat', 'r')
for lines in fname:
if myRegExp.match(lines):
print '1 line ignored.'
else:
itemList = lines.split()
X.append( float( itemList[ column1 ] ) )
Y.append( float( itemList[ column2 ] ) )
Z.append( float( itemList[ column3 ] ) )
こっちでは自分で全部書かないといけないのかな?
自分は↓こうしているんだけど、もっと簡単な方法ってある?
#!/usr/bin/env python
import re
myRegExp = re.compile('^\s*#')
column1 = 5
column2 = 6
column3 = 18
X = []
Y = []
Y = []
fname = open('data.dat', 'r')
for lines in fname:
if myRegExp.match(lines):
print '1 line ignored.'
else:
itemList = lines.split()
X.append( float( itemList[ column1 ] ) )
Y.append( float( itemList[ column2 ] ) )
Z.append( float( itemList[ column3 ] ) )
2009/10/26(月) 03:49:21
基本的にプロット用のライブラリだから、データの用意は自分で...って感じだけど、
テキスト形式を読みこむ関数はある(実際はmatplotlibのバックエンドのnumpyの機能)。
import pylab
data = pylab.loadtxt("data.dat", comments="#")
X, Y, Z = data[:,(5, 6, 8)]
テキスト形式を読みこむ関数はある(実際はmatplotlibのバックエンドのnumpyの機能)。
import pylab
data = pylab.loadtxt("data.dat", comments="#")
X, Y, Z = data[:,(5, 6, 8)]
2009/10/26(月) 04:00:13
>>12
即席で書いたやつだが、こうすれば良し。
LL = [ line.strip().split() for line in file('data.dat') ]
columns = map(list, zip(*LL))
columns[4], columns[5], column[18]
即席で書いたやつだが、こうすれば良し。
LL = [ line.strip().split() for line in file('data.dat') ]
columns = map(list, zip(*LL))
columns[4], columns[5], column[18]
15デフォルトの名無しさん
2009/10/27(火) 05:16:57matplotlibはpythonのライブラリだけど、
コアな計算部分は numpy や PIL だから、
中身は大体Cの部分が実行されてるよね?
スピードはgnuplotと比べてどのぐらい違うんだろうか?
2009/10/27(火) 17:19:13
>>13
NumPyでこんなスライスができるのは知らなかった
NumPyでこんなスライスができるのは知らなかった
18デフォルトの名無しさん
2009/10/27(火) 22:45:51 これはまれにみる糞スレage
2009/10/28(水) 23:16:55
python 使いで gnuplot の限界を感じた人が
使うってだけじゃなくて matplotlib 自体がお目あてで
来る人もいるんだねぇ
そういう人むけのチュートリアルとかが出来るといいね
使うってだけじゃなくて matplotlib 自体がお目あてで
来る人もいるんだねぇ
そういう人むけのチュートリアルとかが出来るといいね
2009/11/01(日) 02:19:36
Matplotlibでgriddataを使っているヒトいますか?ちゃんと動きますか?
Debianにgriddataをソースからインストールしたのですが、
セグメントエラーを吐くようになってしまいました。
Debianにgriddataをソースからインストールしたのですが、
セグメントエラーを吐くようになってしまいました。
21デフォルトの名無しさん
2009/11/06(金) 09:06:05 >>1
ギャラリーにSICPで見かけたおねえさんがw
ギャラリーにSICPで見かけたおねえさんがw
2009/11/06(金) 12:15:54
lenaだよ
23デフォルトの名無しさん
2009/11/06(金) 18:15:36 pngファイルを読み込んでそれをそのままmatplotで表示って、
皆さんどうやってますか?
皆さんどうやってますか?
2009/11/06(金) 18:20:08
2009/11/06(金) 18:29:56
2009/11/06(金) 19:34:28
import pylab
import scipy.misc
m = scipy.misc.imread("grayscale.png")
pylab.imshow(m < 127)
pylab.savefig("output.png")
こんなんでどう?
import scipy.misc
m = scipy.misc.imread("grayscale.png")
pylab.imshow(m < 127)
pylab.savefig("output.png")
こんなんでどう?
2009/11/06(金) 22:28:28
2009/11/08(日) 02:46:26
研究室の友人(C言語しか知らない)にPython勧めたら、その場に居合わせた他の研究室の奴に、
「なんでそんな聞いたこともない言語使うの?VBでいいじゃん」
って言われてしまった。理系だったらPythonのがいいと思うんだけどなぁ。。。
「なんでそんな聞いたこともない言語使うの?VBでいいじゃん」
って言われてしまった。理系だったらPythonのがいいと思うんだけどなぁ。。。
2009/11/08(日) 02:56:20
聞いたことも無いのはお前が不勉強だからだってすぐに言えば良かったのに
2009/11/08(日) 02:57:45
python しらねーの?w
情弱 プギャー w
でよかったんじゃね?
情弱 プギャー w
でよかったんじゃね?
2009/11/08(日) 03:27:41
2009/11/08(日) 10:57:21
excel操作なんか大抵の言語でできるよ(当然pythonも)
2009/11/08(日) 11:30:12
VBで出来ないことまで出来るよねw
2009/11/08(日) 11:50:40
Fランク大学は放置しる
2009/11/08(日) 11:51:53
Excelに10000行くらいのデータを貼り付けてプロットしてる人を見るとアホかと思う
2009/11/12(木) 18:17:20
>>35
瞬時に結果表示できるなら、それで問題ない。
瞬時に結果表示できるなら、それで問題ない。
2009/11/12(木) 19:11:15
データをとるたびにそれを繰り返してるってことでしょ。
2009/11/12(木) 19:23:59
Excelって小学生並みのアホなグラフしか描けないのに何で使うのかな
2009/11/12(木) 20:27:31
商品として優れてるからだろ。
いい製品なんて大抵ゴミだし。
いい製品なんて大抵ゴミだし。
2009/11/12(木) 21:44:39
>>37
まぁ、コピペの部分ぐらいはマクロ使うかな。
まぁ、コピペの部分ぐらいはマクロ使うかな。
2009/11/16(月) 13:26:05
あんま、話題ないんね。
なんか良い入門ないかな。
28だけど、研究室に布教しようと努力中。。
なんか良い入門ないかな。
28だけど、研究室に布教しようと努力中。。
2009/11/16(月) 13:30:01
最近使いはじめたよ。
便利でキレイでいいね。
gnuplot みたいな手軽さは無いけど。
サクっとグラフを見たいときは gnuplot で
貼り付けたい時なんかは、もう Matplotlib だね。
便利でキレイでいいね。
gnuplot みたいな手軽さは無いけど。
サクっとグラフを見たいときは gnuplot で
貼り付けたい時なんかは、もう Matplotlib だね。
2009/11/17(火) 07:53:32
入門書と言えばBeginning Python Visualization位しか持ってないんだけど、
他にある?
この本でもChapter 6で扱ってるだけ。
あんまり詳しくない。
もっと網羅的な奴ないかな。
他にある?
この本でもChapter 6で扱ってるだけ。
あんまり詳しくない。
もっと網羅的な奴ないかな。
2009/12/01(火) 11:22:44
matplotlib でplot 出力するのは
たいてい png な説明がでてるけど
ps/eps にしてもなんか"画像(ラスタイメージ)"になってるね?
細かいデータを打って拡大すると
ticとかが同じ線幅のはずなのに太かったり細かったりって
なっちゃうのはどうにかならないのかな?
(savefig で dpi=200 とかしてもダメみたい…)
あと,"真ん中あたりに小さくグラフが描画される" けど
もっと出力サイズ一杯に描画する方法ないんでしょうか?
(.ps だと a4目一杯)
savefig にはそういうオプションなさそうだけど…
たいてい png な説明がでてるけど
ps/eps にしてもなんか"画像(ラスタイメージ)"になってるね?
細かいデータを打って拡大すると
ticとかが同じ線幅のはずなのに太かったり細かったりって
なっちゃうのはどうにかならないのかな?
(savefig で dpi=200 とかしてもダメみたい…)
あと,"真ん中あたりに小さくグラフが描画される" けど
もっと出力サイズ一杯に描画する方法ないんでしょうか?
(.ps だと a4目一杯)
savefig にはそういうオプションなさそうだけど…
2009/12/01(火) 12:06:02
手元の環境では普通にベクトルデータで生成されるよ。svgはどう?
2009/12/01(火) 12:59:46
あれ,そうですか.
確かに ps データのなかを改めて見ると
そんな感じに見えますね… orz
うーんなんでだろう.
gv で見るときの問題なのかなぁ...
確かに ps データのなかを改めて見ると
そんな感じに見えますね… orz
うーんなんでだろう.
gv で見るときの問題なのかなぁ...
2010/01/14(木) 09:27:49
matplotlib で line なグラフを描くとき
線種って結構限られていますよね?
実線('-') 破線('-.') 点線(':')
gnuplot だと(指定方法が色とごっちゃになってる問題はありますが)
10種類以上くらいの破線種類なんかがあったりしますが,
破線の種類なんかをもっと沢山用意してプロットするのは
できないんでしょうか?
-・-・- とか −−・−−・−−・−− とか
line の属性をほいほいっと弄れば出来るとか…
線種って結構限られていますよね?
実線('-') 破線('-.') 点線(':')
gnuplot だと(指定方法が色とごっちゃになってる問題はありますが)
10種類以上くらいの破線種類なんかがあったりしますが,
破線の種類なんかをもっと沢山用意してプロットするのは
できないんでしょうか?
-・-・- とか −−・−−・−−・−− とか
line の属性をほいほいっと弄れば出来るとか…
2010/01/14(木) 16:27:03
(line1, ) = plot([1, 2, 3], [3, 4, 5])
line1.set_dashes((2, 1, 2, 1, 2, 5)) # インクのon/offを交互に指定
savefig("asdf.png")
もっといい方法があるかもしれないですが
line1.set_dashes((2, 1, 2, 1, 2, 5)) # インクのon/offを交互に指定
savefig("asdf.png")
もっといい方法があるかもしれないですが
49デフォルトの名無しさん
2010/01/15(金) 17:07:16 くだすれPython(超初心者用)から来ました。
オライリーの「集合知プログラミング」にnumpyを使った非負値行列因子分解と言うのがあるのですが
(ソースは英語版ですが http://examples.oreilly.com/9780596529321/ から落とせます)、
これを乗法的更新ルールというので行うと
http://pc12.2ch.net/test/read.cgi/tech/1256350845/785 のようにすぐにNaNになってしまいます
(10回に一回のprint costを毎回print costするようにすると3周目でnanになるようです)。
このスレの方ならnumpyのことをご存知で無いかと思い質問したしだいです。よろしくお願いします。
オライリーの「集合知プログラミング」にnumpyを使った非負値行列因子分解と言うのがあるのですが
(ソースは英語版ですが http://examples.oreilly.com/9780596529321/ から落とせます)、
これを乗法的更新ルールというので行うと
http://pc12.2ch.net/test/read.cgi/tech/1256350845/785 のようにすぐにNaNになってしまいます
(10回に一回のprint costを毎回print costするようにすると3周目でnanになるようです)。
このスレの方ならnumpyのことをご存知で無いかと思い質問したしだいです。よろしくお願いします。
2010/01/15(金) 17:15:54
ソースコードは10章のnmf.py(データ取得部はnewsfeatures.py)を見てください。
2010/01/15(金) 18:29:38
numpyのバージョンは?
2010/01/16(土) 00:53:45
2010/01/16(土) 13:15:11
>>52
nnmf.pyを落としてきて,ちょっと見てみたけど
29行目のループ終了条件
if cost == 0: break
を
if cost < 1e-8: break
とかにすればいいんじゃない?
nnmf.pyを落としてきて,ちょっと見てみたけど
29行目のループ終了条件
if cost == 0: break
を
if cost < 1e-8: break
とかにすればいいんじゃない?
2010/01/17(日) 06:13:27
2010/01/17(日) 08:53:54
いやこれ繰り返し回数じゃなくて
二乗距離でしょ?
かえてやってみたのかと
まぁいいや
二乗距離でしょ?
かえてやってみたのかと
まぁいいや
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 【無職の男(31)】女子小学生に次々触る 下半身を露出した状態で 公然わいせつ、不同意わいせつ疑い 千葉県警 [nita★]
- 【サッカー】UEFA-CL第6節 インテル×リバプール、バルセロナ×フランクフルト、バイエルン×スポルティングなど [久太郎★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 【実況】博衣こよりのえちえち朝活🧪
- 中国がここまで過敏になるのは日本に前科があるから。盧溝橋、満州事変。ジャップの先制攻撃は挙げればキリがないけど [472617201]
- 冬季賞与報告スレ [577451214]
- アホが使うワード 解像度 言語化 あと一つは?
- こーむいんだけど銀行にボーナス振り込まれていた
- 『猟友会がクマ駆除を嫌がるなら潰すべき。職務を放棄するハンターから免許や銃を没収して罰金を取ろう』の声、ネットで上がる [932029429]
