Pythonのお勉強 Part70

■ このスレッドは過去ログ倉庫に格納されています
2023/03/04(土) 00:18:00.31ID:dUl31UkL0
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2023/07/28(金) 00:38:09.66ID:7q/zwki10
ChatGPT4-DefaultとChatGPT4-Code Interpreter
に依頼しまくれば基礎知識無くてもアプリできちゃうよ

根気よく会話して、話が噛み合わなくなったら
チャットを新規で始める
エラーが出たらそれをそのままChatGPTに伝える
2023/07/28(金) 00:40:24.18ID:7q/zwki10
ChatGPT4-Code Interpreter+Custom instructionsの回答

matplotlib.pyplot.show()を使用すると、
通常、図を表示するウィンドウが開き、
そのウィンドウが閉じられるまでスクリプトが停止します。
しかし、スクリプトを停止させずに新しいウィンドウで図を表示したい場合は、
次の方法を試してみると良いでしょう。

ion()を使用してインタラクティブモードをオンにします。
figure()を呼び出すことで新しい図を作成します。
グラフをプロットします。
draw()を使用して図を更新します。
2023/07/28(金) 00:44:32.99ID:7q/zwki10
以下は、この方法を使用して3つの異なる図を作成し、
それぞれの図を新しいウィンドウに表示する例です。

import matplotlib.pyplot as plt
import numpy as np

# インタラクティブモードをオンにする
plt.ion()

# 最初の図
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
plt.figure() # 新しい図を作成
plt.plot(x, y1)
plt.title("図1: sin(x)") # 日本語のタイトル
plt.draw() # 図を更新

# 2番目の図
y2 = np.cos(x)
plt.figure() # 新しい図を作成
plt.plot(x, y2)
plt.title("図2: cos(x)") # 日本語のタイトル
plt.draw() # 図を更新

# 3番目の図
y3 = np.sin(x) * np.cos(x)
plt.figure() # 新しい図を作成
plt.plot(x, y3)
plt.title("図3: sin(x) * cos(x)") # 日本語のタイトル
plt.draw() # 図を更新
2023/07/28(金) 00:47:48.47ID:7q/zwki10
ChatGPT4-Code Interpreter+Custom instructionsの回答(別のチャット)

matplotlibのデフォルトの挙動では、plt.show()を呼び出すと、
ウィンドウが表示される際にスクリプトの実行が停止します。
しかし、block=Falseを設定すると、
ウィンドウがすぐに閉じてしまうという問題が生じます。

この挙動を変更して、
show()を呼び出すたびに新しいウィンドウを生成しながらスクリプトを続行するには、
以下の手順を試してみることができます。

plt.figure()を使用して新しいフィギュアを明示的に作成します。
プロットやサブプロットを作成します。
plt.show(block=False)を使用してフィギュアを非ブロッキングモードで表示します。
plt.pause()を使用して少しの間ウィンドウを表示させます。
この時間は調整できますが、通常は短い時間(例えば0.1秒)で十分です。
2023/07/28(金) 00:48:15.50ID:7q/zwki10
以下は、この手順を使用して連続して2つのグラフを表示するサンプルコードです。

import matplotlib.pyplot as plt
import numpy as np

# データの生成
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# 最初のグラフを表示
plt.figure() # 新しいフィギュアを作成
plt.plot(x, y1)
plt.title("y = sin(x)")
plt.show(block=False)
plt.pause(0.1) # ウィンドウを少しの間表示させる

# 二つ目のグラフを表示
plt.figure() # 新しいフィギュアを作成
plt.plot(x, y2)
plt.title("y = cos(x)")
plt.show(block=False)
plt.pause(0.1) # ウィンドウを少しの間表示させる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況