探検
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/
242デフォルトの名無しさん
2019/05/24(金) 15:20:24.68ID:MR3FxfYE >>241 ありがとう。 なんとかかんとか自力でゴリゴリ変換してみてた。 参考にさせてもらいます。
243デフォルトの名無しさん
2019/05/24(金) 15:39:14.64ID:/7dQNzPT g = Polygon(Point2D(94, 31), Point2D(388, 157), Point2D(472, 199), Point2D(850, 598), Point2D(787, 897), Point2D(110, 927))
matplotlib.pyplot.Polygon(g.vertices)
これでええわ
matplotlib.pyplot.Polygon(g.vertices)
これでええわ
244デフォルトの名無しさん
2019/05/27(月) 14:09:07.82ID:g1o9JmK9 >>243 matplotlib ではPoint2Dは扱えないからダメでしょ。
hxy = np.array(list([i.x,i.y] for i in g.vertices))
とPoint2D(x,y) から (x,y) を取り出す必要がある。
つまり
g = Polygon(Point2D(94, 31), Point2D(388, 157), Point2D(472, 199), Point2D(850, 598), Point2D(787, 897), Point2D(110, 927))
matplotlib.pyplot.Polygon(np.array(list([i.x,i.y] for i in g.vertices)) )
hxy = np.array(list([i.x,i.y] for i in g.vertices))
とPoint2D(x,y) から (x,y) を取り出す必要がある。
つまり
g = Polygon(Point2D(94, 31), Point2D(388, 157), Point2D(472, 199), Point2D(850, 598), Point2D(787, 897), Point2D(110, 927))
matplotlib.pyplot.Polygon(np.array(list([i.x,i.y] for i in g.vertices)) )
245デフォルトの名無しさん
2019/05/27(月) 14:14:45.58ID:eCbLD3a7 うそはいかん
うちでは
ax.add_patch(matplotlib.pyplot.Polygon(g.vertices))
で動いてる
うちでは
ax.add_patch(matplotlib.pyplot.Polygon(g.vertices))
で動いてる
246デフォルトの名無しさん
2019/05/30(木) 09:30:54.81ID:+xWYr2/c >>245 ごめんごめん、今のバージョンと古いバージョンの両方を使ってて、古い方で通らなかったから通らないものとして作ってた。
これで行けると色んな場面で楽になるな。
これで行けると色んな場面で楽になるな。
247デフォルトの名無しさん
2019/05/30(木) 13:10:41.17ID:Ec3P7Zkh Mathematica Walfram|Alpha engine オプソなら無料に
https://forest.watch.impress.co.jp/docs/news/1186454.html
https://www.wolfram.com/engine/
https://forest.watch.impress.co.jp/docs/news/1186454.html
https://www.wolfram.com/engine/
248デフォルトの名無しさん
2019/06/08(土) 17:05:27.12ID:e9TBdBJ9 初心者で申し訳ないのですが、ここにいる天才達に質問です
マットプロットリブでリアルタイムの棒グラフの作成って可能ですか?
マットプロットリブでリアルタイムの棒グラフの作成って可能ですか?
249デフォルトの名無しさん
2019/06/08(土) 17:27:21.35ID:C/YlT49t OK
250デフォルトの名無しさん
2019/06/15(土) 16:48:07.34ID:aVo2U987 matplotlibでリアルタイムはクソ遅いので、用途次第だと思う
251デフォルトの名無しさん
2019/06/15(土) 17:49:04.18ID:NPtNfhdj Matplotlib&Seaborn実装ハンドブック
4798055433
4798055433
252デフォルトの名無しさん
2019/06/17(月) 11:58:06.21ID:hKpTfRM+253デフォルトの名無しさん
2019/06/17(月) 12:01:09.95ID:hKpTfRM+ https://inagoflyer.appspot.com/btcmac
↑このようなものを自分なりにもっと見やすくわかりやすく作りたいのですがおすすめってどのようなものですか?教えていただけると助かります。
↑このようなものを自分なりにもっと見やすくわかりやすく作りたいのですがおすすめってどのようなものですか?教えていただけると助かります。
254デフォルトの名無しさん
2019/06/17(月) 12:07:53.67ID:D4rpPP9R 特定用途に特化したものなら
自分で描いた方が速い
自分で描いた方が速い
255デフォルトの名無しさん
2019/06/17(月) 12:24:46.31ID:hKpTfRM+256デフォルトの名無しさん
2019/06/21(金) 12:19:21.19ID:/W/rELqI >>255 自分のPCで良いだろ。 他人に常時見せたいならサーバを借りる。
257デフォルトの名無しさん
2019/08/17(土) 00:03:58.94ID:Ss8Q0izn 金がかかる!(´・ω・`)
258デフォルトの名無しさん
2020/01/19(日) 09:11:27.71ID:uiB9cWtd ボタンで画面を切り替えてグラフ表示したいのですが、画面1はグラフが1つ、画面2はグラフが2つあります。下のようにやってみましたが、グラフが重なったりWarningが出たりしてうまくいきません。どのようにするとよいでしょうか?
import numpy as np
import tkinter as tk
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider
def b1():
plt.cla()
ax=fig.add_subplot(111)
x=np.arange(0,10,0.1)
y=np.sin(x)
ax.plot(x,y)
plt.show()
def b2():
plt.cla()
ax1=fig.add_subplot(211)
ax2=fig.add_subplot(212)
x=np.arange(0,20,0.1)
y=np.sin(x**2)
y2=np.sin(np.sqrt(x))*2
ax1.plot(x,y)
ax2.plot(x,y2)
plt.show()
root=tk.Tk()
btn1=tk.Button(root,text='1',command=b1)
btn2=tk.Button(root,text='2',command=b2)
btn1.grid(column=0,row=0)
btn2.grid(column=1,row=0)
fig=plt.figure(figsize=(8,4))
root.mainloop()
import numpy as np
import tkinter as tk
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider
def b1():
plt.cla()
ax=fig.add_subplot(111)
x=np.arange(0,10,0.1)
y=np.sin(x)
ax.plot(x,y)
plt.show()
def b2():
plt.cla()
ax1=fig.add_subplot(211)
ax2=fig.add_subplot(212)
x=np.arange(0,20,0.1)
y=np.sin(x**2)
y2=np.sin(np.sqrt(x))*2
ax1.plot(x,y)
ax2.plot(x,y2)
plt.show()
root=tk.Tk()
btn1=tk.Button(root,text='1',command=b1)
btn2=tk.Button(root,text='2',command=b2)
btn1.grid(column=0,row=0)
btn2.grid(column=1,row=0)
fig=plt.figure(figsize=(8,4))
root.mainloop()
259デフォルトの名無しさん
2020/01/19(日) 13:14:35.47ID:ehZNNwbS plt.show() もループするから
root.mainloop() と相性悪いんじゃね
root.mainloop() と相性悪いんじゃね
260デフォルトの名無しさん
2020/01/19(日) 13:22:48.94ID:ehZNNwbS あと fig もグローバルになってるから
各ボタンで重なる可能性はあるので
根本的に描き直す必要があるな
各ボタンで重なる可能性はあるので
根本的に描き直す必要があるな
261デフォルトの名無しさん
2020/01/19(日) 13:38:03.89ID:ehZNNwbS 警告出るけど少しはマシかも知れん
https://pastebin.com/nB4bpTF1
https://pastebin.com/nB4bpTF1
262デフォルトの名無しさん
2020/01/19(日) 13:44:10.05ID:ehZNNwbS263デフォルトの名無しさん
2020/01/19(日) 13:48:20.78ID:ehZNNwbS264デフォルトの名無しさん
2020/01/19(日) 18:02:25.00ID:uiB9cWtd >>259-263
ソースまで貼っていただいてありがとうございます。
まさにこれがやりたかったんです〜。
show()じゃなくてcanvas.draw_idle()ってのを使うんですか。
pauseは消えるまで次の描画を待たないといけないということでしょうか。
(並列処理している?)
やっばりwebの見よう見まねじゃなくて体系的に学ばないといけませんね。
ソースまで貼っていただいてありがとうございます。
まさにこれがやりたかったんです〜。
show()じゃなくてcanvas.draw_idle()ってのを使うんですか。
pauseは消えるまで次の描画を待たないといけないということでしょうか。
(並列処理している?)
やっばりwebの見よう見まねじゃなくて体系的に学ばないといけませんね。
265デフォルトの名無しさん
2020/01/19(日) 18:09:11.95ID:ehZNNwbS pauseの行を消すと何も表示されなくなるよ
そもそもなんでpauseって名前になってるのか判らんが
むしろpauseは待つんじゃなくてshowとは違って一瞬だけ書いて消して
次の処理をやってくれる感じ
そもそもなんでpauseって名前になってるのか判らんが
むしろpauseは待つんじゃなくてshowとは違って一瞬だけ書いて消して
次の処理をやってくれる感じ
266デフォルトの名無しさん
2020/05/13(水) 17:50:12.43ID:LtaTjraG axvline で書き込んだ垂直線を
あとから消す(クリア)することはできますか?
あとから消す(クリア)することはできますか?
267デフォルトの名無しさん
2020/05/13(水) 17:55:27.22ID:oWyvBIrO できますよ
268デフォルトの名無しさん
2020/05/13(水) 18:05:11.92ID:ffMOD4vy269デフォルトの名無しさん
2021/02/28(日) 18:07:24.51ID:mnh+qcDH color_list = ['darkblue', 'grey', 'darkred', 'darkred', 'darkred']
hatch_list = ['/', '//', '/', '//', '/']
plt.bar(left, height, color=color_list, hatch=hatch_list, width=width,
tick_label=labels, align='center')
上のコードでハッチが表示されません
最後の一行で直接hatch='/'と指定すればOKなのですが、
リストを使ってハッチの指定はできないのでしょうか?
hatch_list = ['/', '//', '/', '//', '/']
plt.bar(left, height, color=color_list, hatch=hatch_list, width=width,
tick_label=labels, align='center')
上のコードでハッチが表示されません
最後の一行で直接hatch='/'と指定すればOKなのですが、
リストを使ってハッチの指定はできないのでしょうか?
270デフォルトの名無しさん
2021/02/28(日) 19:39:27.37ID:KhV56l2K >>269
何参考にしたん?
何参考にしたん?
271デフォルトの名無しさん
2021/02/28(日) 20:05:29.10ID:mnh+qcDH272デフォルトの名無しさん
2023/01/09(月) 22:49:19.85ID:oQuRlGBk seabornなどの戻り値でaxesだけいくつか受け取った時、画像を保存するのに一番早い方法は何でしょうか?現状は
fig,ax=plt.subplots()
として、axに戻り値を代入してfig.savefigしています
fig,ax=plt.subplots()
として、axに戻り値を代入してfig.savefigしています
273デフォルトの名無しさん
2023/03/13(月) 10:21:06.78ID:kyo182dJ274デフォルトの名無しさん
2023/03/16(木) 18:17:15.77ID:YlN3ndGZ 余所でやってください
275デフォルトの名無しさん
2023/09/24(日) 14:44:11.65ID:0LC+gfeq なんでやねん、わからん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 広島・廿日市、おこめ券配布せず 全市民に3000円現金給付へ [どどん★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪★2
- じゃあ何券だったら、日本人は満足したんだよ [452836546]
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 悪気はないのに、不意に相手を傷付けてしまう事ってあるんだな
- 朝日新聞記者「中国軍のレーダー照射はこめかみに銃を突きつけられたのと同じ。僕なら反撃して撃墜してる」高市 [931948549]
- 僕が未だに紙の単行本を集めてる漫画が「ご注文はうさぎですか?」「ゆるゆり」「大室家」「邪神ちゃんドロップキック」なんだが
