C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

PythonのMatplotlibの表示位置について /やむなく (22/03/26(Sat) 18:48) #99379
Re[1]: PythonのMatplotlibの表示位置について /くま (22/03/27(Sun) 12:11) #99381
  └ Re[2]: PythonのMatplotlibの表示位置について /やむなく (22/03/29(Tue) 15:10) #99386
    └ Re[3]: PythonのMatplotlibの表示位置について /くま (22/03/29(Tue) 20:02) #99390
      └ Re[4]: PythonのMatplotlibの表示位置について /やむなく (22/03/30(Wed) 06:56) #99392
        └ Re[5]: PythonのMatplotlibの表示位置について /radian (22/03/30(Wed) 09:09) #99393
          └ Re[6]: PythonのMatplotlibの表示位置について /やむなく (22/03/30(Wed) 10:16) #99396
            ├ Re[7]: PythonのMatplotlibの表示位置について /くま (22/03/30(Wed) 10:55) #99399
            └ Re[7]: PythonのMatplotlibの表示位置について /radian (22/03/30(Wed) 10:54) #99398
              └ Re[8]: PythonのMatplotlibの表示位置について /やむなく (22/03/30(Wed) 14:35) #99410 解決済み


親記事 / ▼[ 99381 ]
■99379 / 親階層)  PythonのMatplotlibの表示位置について
□投稿者/ やむなく (1回)-(2022/03/26(Sat) 18:48:44)

分類:[.NET 全般] 

これまで見た実例ではMatplotlibから出されたグラフの表示位置は皆コマンドモニターの勝手な位置であり、
他のアプリケーションからMatplotlibを利用して、そのアプリケーションより作成された某windowの某場所に表示したい場合はどうすれば良いのでしょうか。


ご教授宜しくお願いします。

======================
Pythonの質問に申し訳ございませんが、
ここは一番頼りになる処で、他に出せる処がないため、お許しください❣

[ □ Tree ] 返信 編集キー/

▲[ 99379 ] / ▼[ 99386 ]
■99381 / 1階層)  Re[1]: PythonのMatplotlibの表示位置について
□投稿者/ くま (184回)-(2022/03/27(Sun) 12:11:06)
> 他のアプリケーションからMatplotlibを利用して、そのアプリケーションより作成された某windowの某場所に表示したい場合はどうすれば良いのでしょうか。
某が多すぎてよくわからんけれども他のアプリケーションで使用するならグラフを画像で出力してそれを表示すればいいのでは?
https://www.delftstack.com/ja/howto/matplotlib/how-to-save-plots-as-an-image-file-without-displaying-in-matplotlib/

[ 親 99379 / □ Tree ] 返信 編集キー/

▲[ 99381 ] / ▼[ 99390 ]
■99386 / 2階層)  Re[2]: PythonのMatplotlibの表示位置について
□投稿者/ やむなく (2回)-(2022/03/29(Tue) 15:10:04)
No99381 (くま さん) に返信
>>他のアプリケーションからMatplotlibを利用して、そのアプリケーションより作成された某windowの某場所に表示したい場合はどうすれば良いのでしょうか。
> 某が多すぎてよくわからんけれども他のアプリケーションで使用するならグラフを画像で出力してそれを表示すればいいのでは?
> https://www.delftstack.com/ja/howto/matplotlib/how-to-save-plots-as-an-image-file-without-displaying-in-matplotlib/
>

ご教授本当にありがとうございます。
自分が言ってる『某アプリケーション』とは "MS Windows上で開発された任意のアプリケーション" という意味です。

画像の形にしますとOSやAPPの種類と関係なく、適応性万能ですね❣ 究極的なアイディア❣
表示時間が遅いのは残念なので、自分のアイディアとして、
ファイルに保存せず、画像に変換してから、画像メモリの内容を直にAPPが作成したviewerの指定位置に表示すればOKですね。

これも可能でしょうか。


またよろしくお願いいたします。



[ 親 99379 / □ Tree ] 返信 編集キー/

▲[ 99386 ] / ▼[ 99392 ]
■99390 / 3階層)  Re[3]: PythonのMatplotlibの表示位置について
□投稿者/ くま (185回)-(2022/03/29(Tue) 20:02:12)
> 自分が言ってる『某アプリケーション』とは "MS Windows上で開発された任意のアプリケーション" という意味です。
任意のアプリケーションって自分で作ったアプリではないという事?
それだと表示スペース等問題になると思うけど

>ファイルに保存せず、画像に変換してから、画像メモリの内容を直にAPPが作成したviewerの指定位置に表示すればOKですね。
そのメモリの場所はどうやって『某アプリケーション』に取得させるつもりですか?

画像保存がいやならtkinterでウインドウを作成してMatplotlibを表示
https://imagingsolution.net/program/python/matplotlib/python_tkinter_matplotlib/
そのウインドウハンドルを取得、任意のアプリケーションのコントロールハンドルに紐づけて子ウインドウとして表示
ですかね。

どっちにしても「任意のアプリケーション」が自分で作成したものでないならオススメできませんし
自分で作成した物なら開発環境や言語等情報がないと説明もできませんよ。
[ 親 99379 / □ Tree ] 返信 編集キー/

▲[ 99390 ] / ▼[ 99393 ]
■99392 / 4階層)  Re[4]: PythonのMatplotlibの表示位置について
□投稿者/ やむなく (3回)-(2022/03/30(Wed) 06:56:56)


>どっちにしても「任意のアプリケーション」が自分で作成したものでないならオススメできませんし
>自分で作成した物なら開発環境や言語等情報がないと説明もできませんよ。


ご教授本当にありがとうございます!

こちらの説明不足で申し訳ございません。
「任意のアプリケーション」とは、もっとも一般的なC++言語で自分が作成したWindowsのアプリケーションです。
ただ、MS C#やVCではありません。C++でGUIを作成するために外部ライブラリーQtを利用しています。

C++からPythonの関数をコールして、Pythonの強力なグラフィック機能を利用しようとしますが。

それだけならPyQtとか宜しいかと思いますが、C++からその他の表示内容がもっとあるので、
Python系のGUIライブラリー(Kivy、Tkinter、PyQt、wxPython)を利用するのは面倒になる恐れがあります。
そうしたら、ファイルの形でmatplotlibのグラフィック結果を利用するしかできないでしょうね。
matplotlibから結果の『ハンドラ』のようなものが提供されるなら別な話。

tkinterの知識はないですけれども、
tkinterはmatplotlibのグラフィックをtkinterにり生成されたウィンドウの指定位置に表示できるのでしょうか。
それは一つの救いか。

他にアイディアあれば、またお伺いいたしたいと思います。




[ 親 99379 / □ Tree ] 返信 編集キー/

▲[ 99392 ] / ▼[ 99396 ]
■99393 / 5階層)  Re[5]: PythonのMatplotlibの表示位置について
□投稿者/ radian (22回)-(2022/03/30(Wed) 09:09:38)
結局のところ、あなたが何が判らないのかが判りません。
メモリに画像を保存する方法なら、調べたら出てきましたが。
(メモリリークの記事もやたら引っかかるので、なんかそういうのもあるのかも)

https://www.google.co.jp/search?q=matplotlib.pyplot+%E4%BF%9D%E5%AD%98+%E3%83%A1%E3%83%A2%E3%83%AA+-%E3%83%AA%E3%83%BC%E3%82%AF

プロセス間でデータを共有する方法は、
・名前付きパイプ
・メモリマップトファイル
・ソケット通信
など色々あるけど、どの方法使うにしても1回答で説明するのはボリュームが大きすぎるので、
上記キーワードを検索して、自分で記事探してください。
[ 親 99379 / □ Tree ] 返信 編集キー/

▲[ 99393 ] / ▼[ 99399 ] ▼[ 99398 ]
■99396 / 6階層)  Re[6]: PythonのMatplotlibの表示位置について
□投稿者/ やむなく (4回)-(2022/03/30(Wed) 10:16:39)

radian さま

お返事ありがとうございます。

説明下手で申し訳ございません。

知りたいのは、どうやってPythonのmatplotlibグラフィック機能をdefautの画面に勝手に描画されるのをやめて
他のGUIに作られたWindow(私が開発者の場合)にリアルタイムに表示したいのです。

どうぞよろしくお願いいたします。

[ 親 99379 / □ Tree ] 返信 編集キー/

▲[ 99396 ] / 返信無し
■99399 / 7階層)  Re[7]: PythonのMatplotlibの表示位置について
□投稿者/ くま (186回)-(2022/03/30(Wed) 10:55:35)
1. 画像ファイルをバイト配列に格納
「matplotlibのグラフをローカルに一時保存せずにslackへ送信するサンプルコード」
https://qiita.com/kaito__/items/9aa63cccc99261814065

2. C+からPython呼び出して画像ファイル情報をバイト配列で取得
「1. C や C++ による Python の拡張」
https://docs.python.org/ja/3/extending/extending.html#calling-python-functions-from-c

3. お好みの画像ファイルライブラリで画像ファイル情報から画像を表示

radian さんが書かれている通り
2.に関してはさまざまな方法があります。

後から情報を出すのではなく質問の際に詳しく書いてください。
[ 親 99379 / □ Tree ] 返信 編集キー/

▲[ 99396 ] / ▼[ 99410 ]
■99398 / 7階層)  Re[7]: PythonのMatplotlibの表示位置について
□投稿者/ radian (24回)-(2022/03/30(Wed) 10:54:53)
2022/03/30(Wed) 10:55:59 編集(投稿者)

> 知りたいのは、どうやってPythonのmatplotlibグラフィック機能をdefautの画面に勝手に描画されるのをやめて
> 他のGUIに作られたWindow(私が開発者の場合)にリアルタイムに表示したいのです。

それはやりたいことですよね。
それを達成する為に、何が判らないか(技術的に何が障害になっているか)と聞いているのですが。
複数あるのであれば、質問はそれぞれ個別の内容に絞ってください。
[ 親 99379 / □ Tree ] 返信 編集キー/

▲[ 99398 ] / 返信無し
■99410 / 8階層)  Re[8]: PythonのMatplotlibの表示位置について
□投稿者/ やむなく (5回)-(2022/03/30(Wed) 14:35:19)
くま さま

情報ありがとうございました。
更に議論の余地はないようで、これで終わりに致します。


良い勉強になりました!

解決済み
[ 親 99379 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -