1 名前:デフォルトの名無しさん [2009/10/24(土) 21:06:22 .net] 高機能で柔軟性があり、使い易く、数式表示がデフォルトで可能で、 美しいグラフが作成できる人気のグラフライブラリである Matplotlib のスレッドです。 ギャラリー matplotlib.sourceforge.net/gallery.html matplotlib.sourceforge.net/users/screenshots.html ユーザーズガイド matplotlib.sourceforge.net/contents.html ダウンロード sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-0.99.1/
152 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 14:35:55.50 .net] ム板なんてITドカタしかいないからな まともに数学の話出来る訳がない
153 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 21:13:14.56 .net] Rやmaximaあってもいいけどな。 >>147 そういった本ほんと盛んだよな。でももっとやすうなってくれんかな
154 名前:ニ思ってしまう。Pythonは科学関連のライブラリはかなりほうふだから 基盤として使えるようにしておくといいよね。 p3 に対応したのか。 [] [ここ壊れてます]
155 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 12:41:07.85 .net] wekaとscipyどっちがオヌヌメ?
156 名前:デフォルトの名無しさん [2011/12/06(火) 22:27:37.37 .net] scipyかな
157 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:58:37.66 .net] xlabelとylabelの位置が軸から離れすぎちゃう ことがあるんだけど、たとえば xlabel.hogehoge(0.5,-0.2)みたいな書式で 表示位置を指定する方法はありませんか?
158 名前:デフォルトの名無しさん [2011/12/21(水) 01:11:08.13 .net] python2.6とmatplotlib0.99を使っています。 subplotで6個のグラフを作成し、 titleは、日本語で入れました。 その後、グラフをPSファイルで出力しようとしましたが出来ませんでした。 PNGファイルでは出力できます。 PS、PDFで出力することは可能でしょうか?教えてください。
159 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 08:05:45.11 .net] >>154 savefigで拡張子を.pdfにすればPDFで、 .epsにすればEPSで出力できるはず。 WindowsのPython2.7、Linuxの同2.6で確認済み。 公式ドキュメントにはPDF、PS、PNG、SVGに 対応とあるが、.psだとだめだった記憶がある。 EPSで出力できればどうにでもなる気もするが。
160 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 23:37:49.32 .net] windows 64bit版がamdしかないけど、intel cpuでも大丈夫なのかな?
161 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 09:05:32.23 .net] intel EM64T は amd x64 のパクリ
162 名前:デフォルトの名無しさん [2011/12/24(土) 18:18:03.13 .net] >>155 ありがとう、出来ました。
163 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 22:46:15.24 .net] 目盛幅の指定はどうやるのでしょうか?
164 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 23:53:15.06 .net] matploblib.axis.set_ticks(ticks)ぐらいしか思いつかん
165 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 00:39:05.32 .net] excelもそうだけど、デフォルトの目盛が多すぎだよね
166 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 14:32:29.58 .net] matplotlibわかりづれえよ なんかpythonっぽくないと言うか でも他に無いからありがたく使ってるんですけどね‥
167 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 17:52:10.34 .net] >>162 こうしたい、って思った出力が得られるまで かなり試行錯誤が必要な気はする。 寸法とかpxとinch混在しててややこしい。 あと、インストールはgnuplotの方が楽かな。 WinやMacならスタンドアロンのバイナリも 落ちてるし。 ただ、matplotlibrcをカスタマイズしまくって、 出力されたEPSをさらにPythonでいじくってる ような俺にとって、matplotlibほど融通のきく グラフ描画ツールは他にない。 もっとユーザ増えれば楽しくなりそうなのだが。 不満を挙げるとすれば、rcParamでいじれる項目が バージョンによって結構違ったりすることかな。 ググってきたTipsが手元のバージョンだと使えない なんてことがよくあるんだけど、俺だけかな?
168 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 00:28:00.57 .net] なんつーか,ややこしくいじるときの設定がややこしい (柔軟な分,axis とか fig とかいろいろな概念を理解して それのつつき方を知っている必要がある) あと,最初にきれいじゃなくていいからとりあえず おまかせコースで「データファイルとりあえずプロットしろ」の 段階のお手軽さも負けてる(gnuplot比) もちろん,python で好きなようにいじれる, numpy とかのデータいじり環境と一体化できる, というのがメリットなんだけど
169 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 11:08:40.01 .net] あとチト遅いような気がするな。
170 名前:デフォルトの名無しさん [2012/01/13(金) 00:19:06.31 .net] 習得には >>164 のいうように少し時間がかかるけど、 グラフ描画を関数化して
171 名前:再利用性を上げたり、 widget として GUI アプリに統合できたり、便利すぎる。 [] [ここ壊れてます]
172 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 11:55:41.30 .net] そういえば棒グラフの描き方を調べないといけないんだった 半年くらい忘れてた
173 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 17:11:50.25 .net] ああ あんたか
174 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:12:50.52 .net] dashes=[4,1,2,1] line=ax.plot(x, y, linestyle="--") line[0].set_dashes(dashes) とか書くと破線のフォーマットを自由に 変更できますよね? 同じことを等高線でやりたいのですが、 set_dashes()のような命令はどのような書式で 行えばいいのでしょうか? 現状の(デフォルトの)破線を適用しているコードは こんな感じです。 cs=matplotlib.contour(x, y, z) zc=CS.collections[0] zc.set_linestyle("--") #ここでset_dashesしたい。
175 名前:デフォルトの名無しさん mailto:sage [2012/10/08(月) 20:23:52.59 .net] oppy
176 名前:デフォルトの名無しさん [2012/10/11(木) 20:10:07.37 .net] tes
177 名前:デフォルトの名無しさん [2013/11/21(木) 19:06:57.78 .net] あげ
178 名前:デフォルトの名無しさん [2013/11/22(金) 17:08:32.79 .net] 酷い過疎っぷりだな・・・
179 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 09:45:26.25 .net] 2年近くネタ枯渇か 順調に使われてると思うんだけど…
180 名前:デフォルトの名無しさん mailto:age [2013/11/29(金) 13:02:56.71 .net] matplotlib 以外にも関連・類似ツールいろいろ https://wiki.python.org/moin/NumericAndScientific/Plotting
181 名前:デフォルトの名無しさん [2013/11/29(金) 13:11:39.35 .net] svg
182 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 20:54:41.69 .net] node.js & R node.js & octave peg.js, D3.js
183 名前:デフォルトの名無しさん mailto:sage [2014/02/02(日) 13:37:53.34 .net] こんにちは。 凡例の文字列に日本語フォントを使いたいのですが、うまくいきません。 例があればご教授いただけないでしょうか。
184 名前:デフォルトの名無しさん mailto:sage [2014/02/04(火) 00:32:06.20 .net] フォントに日本語を表示できる物に変えれば良かったはず。
185 名前:デフォルトの名無しさん mailto:sage [2014/07/23(水) 14:58:19.39 ID:pGSYFJcR.net] >>144 これありますか?パターンで塗りつぶしができれば白黒印刷に便利なのですが、ギャラリーにも見あたらないし、検索してもこのレスぐらいしか引っかからないので半分諦めていますが…
186 名前:デフォルトの名無しさん mailto:sage [2014/07/24(木) 09:36:48.44 ID:0egdwMYx.net] matplotlib fill hatching で画像検索 やり方わかったら教えてね ;-)
187 名前:デフォルトの名無しさん mailto:sage [2014/07/30(水) 09:09:31.45 ID:re+bx8Nt.net] >>181 やりたかったことが実現できました。どうもありがとう。公式含めてもっとちゃんと探さないとだめですね。失礼しました python - How do I plot hatched bars using pandas? - Stack Overflow stackoverflow.com/questions/22833404/how-do-i-plot-hatched-bars-using-pandas df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd']) ax = plt.figure(figsize=(10, 6)).add_subplot(111) df.plot(ax=ax, kind='bar', legend=False) bars = ax.patches hatches = ''.join(h*len(df) for h in 'x/O.') for bar, hatch in zip(bars, hatches): bar.set_hatch(hatch) ax.legend(loc='center right', bbox_to_anchor=(1, 1), ncol=4)
188 名前:名無CCDさん@画素いっぱい mailto:sage [2014/09/27(土) 22:40:08.06 ID:W7xxfy9p.net] Ruby3には静的な型を導入するかもだって 理由は最近生まれたスクリプト言語が静的型を持ってるからって・・なんじゃその理由 後
189 名前:互換なんて関係ねぇーそんなの関係ねぇー、おっバッッカーッ [] [ここ壊れてます]
190 名前:名無CCDさん@画素いっぱい mailto:sage [2014/09/27(土) 22:40:57.75 ID:W7xxfy9p.net] あ、スレまちがえた、、失礼w
191 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 13:55:40.44 ID:LC3PBYmK.net] このスレPyQtGraphの話ってしてもいいのかな
192 名前:デフォルトの名無しさん [2015/08/13(木) 13:56:12.96 ID:LC3PBYmK.net] あげ
193 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:06:00.97 ID:pEnalajB.net] オライリーのある本にmatplotlibのbasemapは shapefile形式の地図を読み込んで描画できるって書いてあったんだけど metro.teczno.com/#osaka-kyoto ここの大阪の道路と電車の地図を読み込むことができない
194 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:37:55.20 ID:pEnalajB.net] cythonにすれば静的型を扱える
195 名前:デフォルトの名無しさん [2015/10/30(金) 12:12:59.83 ID:bGTI8z09.net] windowsだと途中で応答無くなるのなんとかならないかな
196 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 02:13:04.21 ID:HuGRRAxn.net] パソコンによって微妙にグラフ出力(軸名の太さなど)が違うのはどうやれば対処できますか?
197 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 08:54:23.14 ID:A2VxB4My.net] OSの違いではないでしょうか? 環境を書いて下さい。
198 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 22:17:26.96 ID:xNC+/SUX.net] basemap
199 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 21:04:09.56 ID:I8RIi9jS.net] >>191 同じOSでUSBとHDDに保存しているwinpythonにて実行しました。(どちらも同じバージョン) すると、やはり軸タイトルが太字になっていたりします。(同じスクリプト) OSの関係については、同じパソコンでも日によって先述の症状が出たりするのでわかりません
200 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 12:57:53.04 ID:FYh5zmj6.net] matplotlib使って、リアルタイムに送られたデータを元にグラフ作成は可能でしょうか?
201 名前:デフォルトの名無しさん [2016/02/26(金) 14:29:31.34 ID:VQGl6zaq.net] 可能です
202 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 14:38:30.00 ID:VQGl6zaq.net] ion ioff pause draw relim
203 名前:デフォルトの名無しさん [2016/02/26(金) 14:55:46.37 ID:FYh5zmj6.net] >>195 有難うございます。 頑張ってみます。 親切にありがとう。
204 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 05:43:37.00 ID:oAofrbJu.net] 質問:scipyのインストール方法を教えてください。 Windows10にPython3.5.1をインストールして、numpyやらをpipでインストールしたのですが scipyはエラーとなってしまいインストールできません。色々調べて、 ttp://typea.info/blg/glob/2015/09/windows-virtualenv-python27-pip-wheel-scipywindows.html のサイトを参考にpy -m pip install c:\user\hoge\scipy-0.17.0-cp35-none-win_amd64.whl で無事にインストールできました。できたのですが、何かおかしいのです。 >>> import scipy.misc Traceback (most recent call last): File
205 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 05:44:57.74 ID:oAofrbJu.net] File "<pyshell#7>", line 1, in <module> import scipy.misc File "C:\Program Files\Python\Python35\lib\site-packages\scipy\misc\__init__.py", line 51, in <module> from scipy.special import comb, factorial, factorial2, factorialk File "C:\Program Files\Python\Python35\lib\site-packages\scipy\special\__init__.py", line 627, in <module> from ._ufuncs import * ImportError: DLL load failed: 指定されたモジュールが見つかりません。 他にもscipy.linalgがありません。皆さんはどのようにscipyをインストールしたのでしょうか。教えてください。
206 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 08:31:04.23 ID:1uyTz51m.net] Anacondaで全部まとめてぶっこむのが楽よ
207 名前:デフォルトの名無しさん [2016/04/23(土) 12:11:30.63 ID:qkM7UD7C.net] >>198 普通にインストール出来たけど
208 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 12:32:28.32 ID:oAofrbJu.net] >>200 ありがとうございます。Anaconda知りませんでした、早速インストールして無事にimport scipy.miscが通りました。 その後に、Anacondaを入れる前から入っているPython(以下、生Pythonとする)でも、scipy.miscが通るようになりました。 何故だろうと調べてみるとAnacondaが設定した環境変数(C:\Anaconda3;C:\Anaconda3\Scripts;C:\Anaconda3\Library\bin)の おかげでした。これを消すと、生Pythonではimport scipy.miscでエラーとなります。AnacondaのPythonはこの環境変数が無くても scipy.miscが通ります。 ということで、>>198 でscipyをinstallして、かつ、Anacondaもインストールすれば生Pythonの方もscipyが使えるようになります。
209 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 12:37:03.29 ID:oAofrbJu.net] >>201 私も>>198 でインストールできてimport scipyは通るのですが、import scipy.miscはエラーとなる状態でした。 Anacondaをインストールすることで、これも通るようになりました。
210 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 13:16:58.57 ID:qkM7UD7C.net] >>> import scipy >>> import scipy.misc 問題ないなー
211 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 11:15:19.99 ID:l3PGNOtI.net] n
212 名前:デフォルトの名無しさん [2016/07/15(金) 00:37:49.11 ID:zIcmXt8M.net] つい先週くらいから仕事でpythonを覚えることになり、vagrantでCentOS6.8でpyenvとvirtualenvで下記の環境を作りました。 python: 3.5.2 pandas: 0.18.1 numpy: 1.11.1 matplotlib: 1.5.1 ta-lib matplotlib.org/examples/pylab_examples/finance_demo.html を参考にローソク足は出力できました。 ローソク足と同じプロットの中に移動平均線がうまく出せずに詰まってます。 データはMySQLからpandas.io.sqlで取得しています。 移動平均線は、 sma5 = pd.Series(df['close']).rolling(window=5) sma5.mean().plot(ax=ax) でやってみました。 ta-libでも試しましたが、ローソク足と移動平均線を出力すると、 右端と左端に縮まって表示されてしまいます。 どこかに参考になるサイトやソースがあれば教えていただきたいです。 長文で失礼しました。
213 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 19:18:46.39 ID:8P+uiz2j.net] >右端と左端に縮まって表示されてしまいます。 画像貼るかソース貼るかなんかしろよ
214 名前:デフォルトの名無しさん [2016/07/15(金) 23:33:54.08 ID:zIcmXt8M.net] >207 207です、すみませんでした。 %matplotlib inline import pandas as pd import numpy as np import talib as ta import matplotlib.pyplot as plt from matplotlib.finance import candlestick_ohlc import pymysql.cursors import pandas.io.sql as psql # print(df) # date start high low close #0 2016-01-04 18818.6 18951.1 18394.4 18451.0 #1 2016-01-05 18398.8 18547.4 18327.5 18374.0 #2 2016-01-06 18410.6 18469.4 18064.3 18191.3 dates = df['date'] tmp = df['date'].values.astype('datetime64[D]') df['date'] = tmp.astype(float) plt.figure(figsize=(10, 6)) ax = plt.subplot(111) plt.xticks(df['date'][::60],[x.strftime('%Y-%m-%d') for x in dates][::60]) plt.grid() candlestick_ohlc(ax,df.values,width=0.7,colorup='red',colordown='blue') sma5 = pd.Series(df['close']).rolling(window=5) sma5.mean().plot() plt.show() qiita.com/ynakayama/items/badbf9804835d2da425e ここのページのような感じで出力させたいです。
215 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 15:23:01.94 ID:9Y22Kipm.net] 期待されてるデータはこんな感じっぽい index start close high low
216 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 15:24:59.58 ID:9Y22Kipm.net] ああ違うな 期待されてるデータはこんな感じっぽい index start close low high
217 名前:デフォルトの名無しさん [2016/07/18(月) 11:14:03.26 ID:p3/5cugZ.net] >>210 ありがとうございます。 ヒントを頂いて、色々試しまして期待通りの出力ができました。 sma5 = pd.Series(data=df['close']).rolling(window=5).mean() ax.plot(df['date'],sma5) 211さんの書き込みがなければ、ググり方の発想すら出てこなかったので、 本当に助かりました。ありがとうございました。
218 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 23:38:20.85 ID:2yVpSx56.net] このようなシンプルな白黒の画像があります i.imgur.com/jEgghPx.png これを下記のコードで表示すると from PIL import Image as image import matplotlib.pyplot as plt import numpy as np im = np.array(image.open('jEgghPx.png')) plt.imshow(im) plt.show() こんなヘンな赤青の図になってしまいます。 imgur.com/a/l9Ifw 何とかしてもとの白黒で正しく表示できないものでしょうか
219 名前:デフォルトの名無しさん [2016/09/30(金) 13:41:37.59 ID:4mQfWuIk.net] from scipy import misc def mm(im): ..for y in range(len(im)): ....for x in range(len(im[y])): ......if 10 < y < 12: im[y][x] = x * 511 / len(im[y]) ......if 10 < x < 12: im[y][x] = y * 511 / len(im) ..return im (略) im2 = misc.toimage(im, cmin=0, cmax=511) plt.imshow(mm(np.uint32(im2))) (略)
220 名前:デフォルトの名無しさん [2016/09/30(金) 13:51:49.16 ID:4mQfWuIk.net] >>213 のはネタだけど im = np.array(image.open('jEgghPx.png')) plt.imshow(im) plt.gray() plt.show() でもイケる
221 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 13:59:29.48 ID:tpKY3oHI.net] ありがとうございます。 >>213 キラーンとなりました >>214 元のモノクロで表示されました 白黒表示目的は>>214 で達成できたのですが、>>213 が気になります x=11の列、y=11の列の値を511倍してそれぞれ列サイズ(28)、行サイズ(28)で割るとなぜキラーンとなるのでしょうか? しかも全体の色味も変わって見えます
222 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 13:38:37.38 ID:GX41vvMR.net] im2 = misc.toimage(im, cmin=0, cmax=511) plt.imshow(np.uint32(im2)) と比べてごらん
223 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 13:47:46.65 ID:GX41vvMR.net] あとこんなのでも行けるはず def m(im): ..im[0][0] = 0 ..im[len(im)-1][len(im[y])-1] = 511 ..return im (略) im2 = misc.toimage(im, cmin=0, cmax=511) plt.imshow(m(np.uint32(im2))) (略)
224 名前:デフォルトの名無しさん [2016/10/04(火) 14:33:18.64 ID:ZPmHgmj0.net] こんなのでも逝ける from scipy import misc def mmm(im): ..for y in range(len(im)): ....for x in range(len(im[y])): ......im[y][x] = 511 - im[y][x] ..im[0][0] = 0 ..im[len(im)-1][len(im[y])-1] = 511 ..return im (略) im2 = misc.toimage(im, cmin=0, cmax=511) plt.imshow(mmm(np.uint32(im2))) (略)
225 名前:デフォルトの名無しさん [2016/10/09(日) 23:30:59.35 ID:xxl1bgNt.net] matplotlibで簡単なGUIのアプリケーションを自作しようと考えています そこでボタンを押したときにキャンバスの中央に点がでるようなGUIを作成しようとしているのですが from numpy.random import rand import matplotlib.pyplot as plt from matplotlib.widgets import Button fig = plt.figure() ax = fig.add_subplot(111) plt.subplots_adjust(bottom=0.2) class Index(object): def next(self, event): xdata = event.xdata ydata = event.ydata plt.plot(0,0,color="red",marker="o") plt.draw() axnext = plt.axes([0.81, 0.05, 0.1, 0.075]) bnext = Button(axnext, 'circle') bnext.on_clicked(Index().next) plt.show() サイトを参考に以上のように組んではいるのですが ボタンを押した際ボタンの方の中央にプロットされてしまいます これをキャンバスの方の中央にプロットするにはどのようにしたらよいでしょうか? 欲を言えばボタンを押した後に中央のキャンバス上でクリックした場所に赤い点を出したいです
226 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 17:37:13.33 ID:Q436H0RN.net] >キャンバスの中央に点がでるような class Index(object): def __init__(self, ax): self.ax = ax def next(self, event): xdata = event.xdata ydata = event.ydata self.ax.plot(0, 0, color="red", marker="o") plt.draw() (略) bnext.on_clicked(Index(ax).next)
227 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 17:44:14.43 ID:Q436H0RN.net] >キャンバス上でクリックした場所に垢移転 class Index(object): def __init__(self, ax): self.ax = ax def next(self, event): xdata = event.xdata ydata = event.ydata self.ax.plot(xdata, ydata, color="red", marker="o") plt.draw() (略) axnext = plt.axes([0.81, 0.05, 0.1, 0.075]) fig.canvas.mpl_connect('button_press_event', Index(ax).next) (略) #最初にクリックしたときだけ、どの場所クリックしても中央になるのは座標軸の方が変化するからっぽい。
228 名前:デフォルトの名無しさん [2016/10/10(月) 19:20:25.82 ID:cQ1gLyON.net] >>220 >>221 回答ありがとうございます 参考にして書いて見た結果ボタンを押した位置に応じた場所に点がでるようになりました 度々ですみませんが今度は 1度ボタンを押した後、大きいキャンバスのどこかを2度目のクリックをしたときそこに 1度だけ点がでるようにしたいです ここからどう変えれば良いでしょうか?(イメージとしてはボタンを押すと,次のクリックの入力待ちになるイメージです from numpy.random import rand import matplotlib.pyplot as plt from matplotlib.widgets import Button fig = plt.figure() ax = fig.add_subplot(111) plt.subplots_adjust(bottom=0.2) class Index(object): def __init__(self, ax): self.ax = ax def next(self, event): xdata = event.xdata ydata = event.ydata self.ax.plot(xdata, ydata, color="red", marker="o") plt.draw() axnext = plt.axes([0.81, 0.05, 0.1, 0.075]) fig.canvas.mpl_connect('button_press_event', Index(ax).next) bnext = Button(axnext, 'circle') bnext.on_clicked(Index(ax).next) plt.show()
229 名前:デフォルトの名無しさん [2016/10/11(火) 00:20:24.10 ID:7970w8cq.net] >>222 追加 聞いてばかりですみません、もう一つ聞きたいことがありまして ボタンを2つにした場合には fig.canvas.mpl_connectをどうつなげるべきなのでしょうか? class Index1(object): def __init__(self, ax): self.ax = ax def next(self, event): xdata = event.xdata ydata = event.ydata self.ax.plot(xdata, ydata, color="red", marker="o") plt.draw() def prev(self, event): xdata = event.xdata ydata = event.ydata self.ax.plot(xdata, ydata, color="blue", marker="o") plt.draw() axnext = plt.axes([0.81, 0.05, 0.1, 0.075]) axprev = plt.axes([0.11, 0.05, 0.1, 0.075]) fig.canvas.mpl_connect('button_press_event', Index(ax).???) bnext = Button(axnext, 'red') bnext.on_clicked(Index(ax).next) bnext = Button(axprev, 'blue') bnext.on_clicked(Index(ax).prev)
230 名前:デフォルトの名無しさん [2016/10/11(火) 13:31:18.69 ID:QeFd4z39.net] 割とマジでレスするけど >>220-221 が判らなかったのはともかく それが解決してるのに >>222-223 が判らないっていうのは 相当知能に問題があるぞ 自分でできないなら向いてない あきらめろ
231 名前:デフォルトの名無しさん [2016/10/11(火) 14:10:27.65 ID:7970w8cq.net] >>224 指摘していただきましてすみません >>223 の方は クラスをもう一つ作り fig.canvas.mpl_connect('button_press_event', Index(ax).next) fig.canvas.mpl_connect('button_press_event', Index(ax).prev) で解決しました. こちらに関しては少し変えたりなどで試行せずに質問してしまっていたため 申し訳なく思います ただ>>222 の方が retrofocus28.blogspot.jp/2012/07/matplotlib.html こちらを組み合わせながら行っても上手くいかず 入力待ちの方法が思い浮かばなかったために質問させていただいております もしよろしければもう少しお付き合いください
232 名前:デフォルトの名無しさん [2016/10/12(水) 10:22:57.21 ID:G/hcjkA/.net] >>225 のものです >>222 について不器用な感じではありますがカウンターを用いて解決しました ご迷惑をおかけしましてすみません
233 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 15:42:20.46 ID:z5IC4QPv.net] グラフ描画機能は matplotlibとRのggplot2は どっちが優れてますか?
234 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 11:10:15.21 ID:qCTmGWaI.net] pandas使ったらさあ、ちょっと前なのにパラメータがrows, colsからindexとcolumnに変わってたりと 大して意味のない気まぐれな変更多くて修正めんどくさくて大変だった いったん決めたインターフェースは簡単に変えるなよ
235 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 11:37:03.12 ID:JsoExgwj.net] >>228 2日越しのマルチ乙
236 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 14:10:16.42 ID:hoK7VIFg.net] すみません、 テラタームでログインして、サーバ上でPythonを触っているのですが、 その場合、Matplotlibで作成したグラフはどのようにしたら表示できますか?
237 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 15:29:08.61 ID:E/UcmmKD.net] sshでXのportforwardとかかな
238 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 15:34:23.95 ID:hoK7VIFg.net] >>231 portforwardといいますと?
239 名前:デフォルトの名無しさん [2017/07/20(木) 19:10:48.26.net] ssh
240 名前:デフォルトの名無しさん [2017/11/10(金) 19:10:16.21 ID:81bW6/qw.net] 一番簡単なのはjupyter notebook使うことだね。
241 名前:デフォルトの名無しさん [2018/03/31(土) 19:51:41.75 ID:RRMYNfyR.net] 3D版のScatterでvmax指定が効かないな… zticksも存在しないし 透明の点をプロットして拡げるしかないのか
242 名前:デフォルトの名無しさん [2018/05/23(水) 19:58:38.64 ID:Au5e7VGg.net] 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 UWPF3
243 名前:デフォルトの名無しさん [2018/07/05(木) 01:40:39.11 ID:RfoszcD2.net] XAO
244 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 18:19:51.64 ID:zbbYcLmt.net] 今は jupyter labやな
245 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 10:35:23.92 ID:eybwZjzY.net] matplotlib.plot にも sympy.geometory にも Polygon ってあるのな。 これをお互いに変換するのはどうしたらよいの? sympy からplot で良い。 sympy.geometry Polygon(Point2D(94, 31), Point2D(388, 157), Point2D(472, 199), Point2D(850, 598), Point2D(787, 897), Point2D(110, 927)) matplotlib.plot Polygon( [[ 94 31],[990 31],[990 927], [ 94 927]]) # np.array
246 名前:デフォルトの名無しさん [2019/05/23(木) 19:05:18.50 ID:KLPLdAni.net] 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(map(np.array, g.vertices))))
247 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 15:20:24.68 ID:MR3FxfYE.net] >>240 ありがとう。 なんとかかんとか自力でゴリゴリ変換してみてた。 参考にさせてもらいます。
248 名前:デフォルトの名無しさん [2019/05/24(金) 15:39:14.64 ID:/7dQNzPT.net] 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) これでええわ
249 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 14:09:07.82 ID:g1o9JmK9.net] >>242 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)) )
250 名前:デフォルトの名無しさん [2019/05/27(月) 14:14:45.58 ID:eCbLD3a7.net] うそはいかん うちでは ax.add_patch(matplotlib.pyplot.Polygon(g.vertices)) で動いてる
251 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 09:30:54.81 ID:+xWYr2/c.net] >>244 ごめんごめん、今のバージョンと古いバージョンの両方を使ってて、古い方で通らなかったから通らないものとして作ってた。 これで行けると色んな場面で楽になるな。
252 名前:デフォルトの名無しさん [2019/05/30(木) 13:10:41.17 ID:Ec3P7Zkh.net] Mathematica Walfram|Alpha engine オプソなら無料に https://forest.watch.impress.co.jp/docs/news/1186454.html https://www.wolfram.com/engine/