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をソースからインストールしたのですが、
セグメントエラーを吐くようになってしまいました。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 【将棋】福間香奈 女流六冠が会見 妊娠・出産でタイトル戦の事実上不戦敗 「妊娠したら、どちらか一方を諦めないといけない状況」★2 [冬月記者★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- かつや、明日からカツ丼(竹)790円→590円、ロースカツ定食830円→630円、カツカレー(竹)990円→790円 画像あり [お断り★]
- ホリエモン、「持ち家=幸せという価値観は過去のもの」と断言「快適な住まいが欲しいなら、賃貸住宅を次々に替えていく」 [muffin★]
- 高市「中韓を挑発する発言すれば支持者のネトウヨが称賛してくれたからやめられなかったの!アタシ悪くない!」どうする? [165981677]
- 【深夜映画】史上最も記憶に残るカルト映画の名作30本_あなたのハートには、何が残りましたか? [979264442]
- 【実況】博衣こよりのえちえち声優楽プロジェクト共同研究発表会🧪
- 高市早苗、トランプおやびんに泣きつくwwwwwwwwwwwwwwwwwwwwwwww [834922174]
- 【日テレ】日本人の間で「袋麺ブーム」が到来!野菜炒めを乗せて食べるのが流行ってるらしい [512028397]
- 【高市コイン】1バーツ=5円で年金沈没組無事死亡🤗 [993451824]
