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/
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 なんでやねん、わからん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【△】コンビニの鮭おにぎり、価格にネット衝撃「ついに…」 驚き続々「これはキツい…」「日本人を殺しに来てる」 ★3 [ぐれ★]
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に ★3 [蚤の市★]
- 「外国人はもう日本を選ばなくなる」経営者たちが抱く深刻な懸念 ベトナム人実習生なしでは「成り立たない街」…【多文化共生企画】★3 [少考さん★]
- 参政・神谷代表「なぜ日本では多くの中国人の方がキャッシュで不動産を買えるのか」「現金はどこから来ているのか」 片山大臣の回答は [少考さん★]
- 「全国テレビのデカ盛りの撮影が連絡無しで…」ラーメン店が悲痛の食材ロス危機を訴える [少考さん★]
- 【東京】わずか9平方メートル…都心に近い「極小」アパートが若者に人気 狭くても“住めば都” ★3 [煮卵★]
- 【世論】高市「中国と台湾の問題は、対話による平和的解決を期待するというのが、わが国の一貫した立場だ」 [811796219]
- 公園でシャボン玉してる親子と喧嘩になったんやが
- 「忠臣蔵」とかいう、輩47人で押しかけて1人の爺さんを無惨に殺害した事件を称賛する祭り「義士祭」が今年も開催される [279254606]
- 【高市物価】スーパー買い物俺「まあまあ買ったな…3000円くらいか?(意外と2000円程度かも😁)」→ [153490809]
- 【悲報】婚約中の男「家具なんてニトリでいいでしょ。子供出来たら絶対汚すし」女「お前との結婚は刑務所生活かよ!」 [802034645]
- 日本がゲームチェンジャーの高出力レーザー兵器を艦載、海上での実戦試験へ😲 [861717324]
