以下のプログラムはPythonでせん断応力図、曲げモーメント図を表示させたいだけなのですが、
実行するとすぐウィンドウが落ちてしまいます。
どこをどう修正すれば良いか教えて頂けますか?
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import numpy as np
import matplotlib.pyplot as plt
# 梁の長さと荷重
L = 10 # 梁の長さ
P = 1000 # 集中荷重
# せん断応力と曲げモーメントの計算
x = np.linspace(0, L, 500)
V = np.piecewise(x, [x < L/2, x >= L/2], [P/2, -P/2]) # せん断応力
M = np.piecewise(x, [x < L/2, x >= L/2], [P*x/2, P*(L-x)/2]) # 曲げモーメント
# プロットの作成
fig, axs = plt.subplots(3, 1, figsize=(10, 8), sharex=True)
# 梁のイラスト
axs[0].plot([0, L], [0, 0], 'k-', linewidth=2)
axs[0].set_title('梁のイラスト')
axs[0].set_xlim(-1, L+1)
axs[0].set_ylim(-1, 1)
axs[0].set_yticks([])
axs[0].set_xticks([])
axs[0].annotate('荷重 P', xy=(L/2, 0), xytext=(L/2, 0.5),
arrowprops=dict(facecolor='black', shrink=0.05))
# せん断応力図
axs[1].plot(x, V, 'b-', label='せん断応力')
axs[1].set_title('せん断応力図')
axs[1].set_ylabel('せん断応力 [N]')
axs[1].grid(True)
axs[1].legend()
# 曲げモーメント図
axs[2].plot(x, M, 'r-', label='曲げモーメント')
axs[2].set_title('曲げモーメント図')
axs[2].set_xlabel('梁の位置 [m]')
axs[2].set_ylabel('曲げモーメント [Nm]')
axs[2].grid(True)
axs[2].legend()
plt.tight_layout()
# Tkinterウィンドウの設定
root = tk.Tk()
root.title("単純はりのせん断応力図と曲げモーメント図")
# MatplotlibのFigureをCanvasに埋め込む
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
# 終了ボタンの設定
def on_closing():
root.quit()
root.destroy()
root.protocol("WM_DELETE_WINDOW", on_closing)
tk.Button(root, text="終了", command=on_closing).pack(side=tk.BOTTOM)
root.mainloop()
No.2ベストアンサー
- 回答日時:
Windows 11のanacondaで試したらDLLload errorでimagingが見つからないと言われたのでanacondaをupdateしました。
そうしたらこんどはM = np.piecewise(x, [x < L/2, x >= L/2], [P*x/2, P*(L-x)/2])がerrorになったので以下のようにnp.where(x < L/2, P/2, -P/2)
np.where(x < L/2, P*x/2, P*(L-x)/2)
修正したら図とグラフは表示されましたが日本語は表示されませんでした。
No.1
- 回答日時:
分からん。
単に落ちてるだけ、なんじゃないの?
エラーは出てない?
こっち(xubuntu22.04, Python 3.11.9)で試してみると、落ちる、落ちない以外に単にエラーが出てくるんだが。
恐らくNumpy絡みのエラーで落ちてるんだと思うんだけどね。
ただ、デバッグは他人にやらせるような事じゃないと思うし、「プログラミング初心者はNumpyなんざ使わない/使ってはいけない」と言う原則から言うと、貴方は既にPythonプログラミングに「慣れてる」だろうから、デバッガ走らせながら見ていった方がいいと思うよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
つい集めてしまうものはなんですか?
人間誰もは1つ「やたらこればかり集めてしまう」というものがあるもの。 あなたにとって、つい集めてしまうものはなんですか?
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
あなたの習慣について教えてください!!
あなたが習慣だと思って実践しているものを共有してくださいませんか? 筋肉トレーニングでも朝シャワーでも、あなたが習慣だなと思えば何でも構いません
-
プログラミングの雑談がしたいのですがどこで出来ますか?
その他(プログラミング・Web制作)
-
Pythonのコードエラーについてです。
その他(プログラミング・Web制作)
-
どうして+3
C言語・C++・C#
-
-
4
パソコン
C言語・C++・C#
-
5
近年誕生したプログラミング言語
その他(プログラミング・Web制作)
-
6
インクリメント演算子のみを用いて、下に表示されるようにプログラムします 99 100 102 103
C言語・C++・C#
-
7
Python、プログラミングについて質問です
C言語・C++・C#
-
8
c言語
C言語・C++・C#
-
9
次の日本語の意味を教えて下さい
C言語・C++・C#
-
10
C言語について。
C言語・C++・C#
-
11
python03について。
その他(プログラミング・Web制作)
-
12
Python言語のAnacondaの話です Windows 10 でアナコンダを入れました エディタ
その他(プログラミング・Web制作)
-
13
これて逆じゃないですか?
C言語・C++・C#
-
14
・オブジェクト指向のメリットってなんですか? ・カプセル化だ!とよく叫ぶ人がいますけど、カプセル化が
その他(プログラミング・Web制作)
-
15
次の記述について
C言語・C++・C#
-
16
エディターで以下のような色になるエディターは解りますか?
その他(プログラミング・Web制作)
-
17
食材の期限を管理するためにGASを利用しようとしたのですがうまく動作してくれません
JavaScript
-
18
hostファイル
その他(プログラミング・Web制作)
-
19
今ってプログラミング言語は何が中心?
C言語・C++・C#
-
20
2つほどお聞きしたいことがあり、答えてもらえると助かります。 1つ目は、チャットGPTにあらかじめ、
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python ボタンを押すと複数の関...
-
else if文の順序を変えることに...
-
PythonでSetWindowPosを使うに...
-
四乗根を英語で言うと・・・
-
Pythonのtkinterについて
-
attachMovieで表示した複数のMC...
-
PYTHONのtkinterについて
-
C# chart controlの透過について
-
VB6.0のHideのバグ?
-
シンボル化解除の方法
-
pdfのテキスト全文コピー、テキ...
-
VB6.0 でメニューを作りたいん...
-
IP Address 入力フォームについて
-
テキストボックスにセルの値を...
-
VBScriptでMsgBoxのYesNoボック...
-
VB6.0で、フォームから、別のフ...
-
全てのテキストボックスをセル...
-
多言語を混在できるか。
-
変数に256文字以上のテキストを...
-
【Photoshop】レイヤー効果の境...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python ボタンを押すと複数の関...
-
else if文の順序を変えることに...
-
四乗根を英語で言うと・・・
-
PythonでSetWindowPosを使うに...
-
PYTHONのtkinterについて
-
onReleaseができない
-
loadMovie()を組み込んだswfフ...
-
SNMPの標準MIBについて
-
ボタンをクリックでムービーを...
-
sendAndLoadで
-
ADに参加していないPCからADサ...
-
Javascriptとの連携について
-
1フレーム~5フレームまで表...
-
Flashでの変数利用パス
-
ムービークリップを止めたいの...
-
テキスト入力と同じ名前のムー...
-
スロットを作りたいのですが・・・
-
スライドショーのフェードイン...
-
ホイールマウスで動かす
-
SO-01B(2.3.3)のroot化について
おすすめ情報