質問: やりたいことはタイトルの通りで、VisualStudioの.NETFrameworkで作った画面に、matplotlibのグラフの画像を表示する方法を知りたいです。 流れは、 GUI上のボタンをクリック →pythonのスクリプト(グラフを描画するスクリプト)が実行される →グラフ画像を取得 →GUIに画像を表示 という流れです。 調べたところプロセス間通信を使用すると出てきたのですが、勉強不足なのか調べが甘いのか具体的なやり方がわかりませんでした。 もっと簡単な方法をご存知であれば教えていただきたいです。 もしくは、よいサイトをご存知であれば教えていただきたいです。 直接コードを書いていただいてもかまいません。 よろしくお願いいたします。
回答: 貴方の調べたのとは違っていそうですが、今一番即効性のある方法はこれだと思われます。 Matplotlib python module, using from C# FlaskでWebサービスを立ててPython+MatplotlibのWeb-APIを実装し、C#アプリからHttpリクエストを投げて返ってきた結果を表示する形だと書かれているようです。 GitHubプロジェクトやNuGetパッケージも作られているようなので、素早く試せるのでは? 他の使い方にはこんなのがあるようです。 * IronPython: 2.x系の動かすには色々対処が必要な版と、未完成の3.x系の版があるようです。 Windows .NET C#からPythonを使う。2017年3月30日版。 / IronPython / IronLanguages/ironpython3 * Pythonを子プロセスとして起動する: 日本語記事は結果が別ウインドウで表示でした。 C#からPYTHONの呼び出し / Inter-process communication between C# and Python execute a python script in C# * Python for .NET: 使いこなせるなら一番自由度が高そうですが、動作確認しているのは3.6まで。 pythonnet.github.io / pythonnet/pythonnet Pythonから.NETを呼び出す方法とついでにその逆も / Visual StudioでPython使う人(オレ)へのメモ Python Plot doesn't appear when launched by Command Line in C# / add docs - using matplotlib from C# via pythonnet #442 / embedding docs - expose all available API #410