講義のページ/Pythonのお勉強/シミュレーション-3 結果をグラフで表す
をテンプレートにして作成
[
トップ
] [
新規
| |
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#topicpath
** シミュレーション-3 結果をグラフで表す [#f3031f39]
- matplotlib vs plotly~
Python でグラフを描く。
Python でグラフを描くライブラリはいくつかある。~
[[matplotlib と plotly で描いた例>https://colab.research....
*** 準備 [#fa9849dd]
- リストのスライス
#code(python){{
# リストの作成
testlist = list(range(10))
print( testlist )
# スライスの例
print( testlist[2:4] )
print( testlist[::2] )
print( testlist[1::2] )
print( testlist[-2:])
}}
- リストのコピー~
次のようにしても、xe, xl, xr は、実体は同じになるので、一...
#code(python){{
xe = [2,3]
xl = xe
xr = xe
xe[0] = -3
print(xl)
print(xr)
}}
この件は、例えば[[Pythonのデータ同一性>https://qiita.com/...
- 数値積分の値を保持する。~
リストの末尾にリストを連結していく。最後の2つを用いて積分...
関数 Euler() などの定義は省略してある。
#code(python){{
xe = [2,3]
xl = [2,3]
xr = [2,3]
for i in range( nloop - 1 ):
xe += Euler( xe[-2:] )
xl += LeapFrog( xl[-2:] )
xr += RungeKutta( xr[-2:] )
print( xe[-2:])
print( xl[-2:])
print( xr[-2:])
}}
*** グラフの作成 [#j458a458]
- まえおき~
グラフを描くとき、一つの関数に、数多くのオプションをつけ...
近年は、関数を追加していくのが主流である。グラフの見た目...
~
- matplotlib の場合~
[[コードとグラフ>https://colab.research.google.com/drive/...
#code(python){{
import matplotlib.pyplot as plt
etime = []
for i in range(nloop):
etime += [i * dt]
print( len(etime) )
print( len(xe) )
plt.plot( etime, xe[::2], label="Euler")
plt.plot( etime, xl[::2], label="LeapFrog")
plt.plot( etime, xr[::2], label="RungeKutta")
plt.legend()
}}
#img64(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiIA...
- plotly の場合~
plotly の場合は、美しいだけでなく、インタラクティブなグラ...
[[コードとグラフ>https://colab.research.google.com/drive/...
#code(python){{
import plotly.graph_objects as go
etime = []
for i in range(nloop):
etime += [i * dt]
print( len(etime) )
print( len(xe) )
fig = go.Figure()
fig.add_trace(go.Scatter(x=etime, y=xe[::2], name='Euler'))
fig.add_trace(go.Scatter(x=etime, y=xl[::2], name='LeapFr...
fig.add_trace(go.Scatter(x=etime, y=xr[::2], name='RungeK...
}}
ここに掲載したのは画像なので、クリックしても何も起こらな...
&ref(newplot.png);
終了行:
#topicpath
** シミュレーション-3 結果をグラフで表す [#f3031f39]
- matplotlib vs plotly~
Python でグラフを描く。
Python でグラフを描くライブラリはいくつかある。~
[[matplotlib と plotly で描いた例>https://colab.research....
*** 準備 [#fa9849dd]
- リストのスライス
#code(python){{
# リストの作成
testlist = list(range(10))
print( testlist )
# スライスの例
print( testlist[2:4] )
print( testlist[::2] )
print( testlist[1::2] )
print( testlist[-2:])
}}
- リストのコピー~
次のようにしても、xe, xl, xr は、実体は同じになるので、一...
#code(python){{
xe = [2,3]
xl = xe
xr = xe
xe[0] = -3
print(xl)
print(xr)
}}
この件は、例えば[[Pythonのデータ同一性>https://qiita.com/...
- 数値積分の値を保持する。~
リストの末尾にリストを連結していく。最後の2つを用いて積分...
関数 Euler() などの定義は省略してある。
#code(python){{
xe = [2,3]
xl = [2,3]
xr = [2,3]
for i in range( nloop - 1 ):
xe += Euler( xe[-2:] )
xl += LeapFrog( xl[-2:] )
xr += RungeKutta( xr[-2:] )
print( xe[-2:])
print( xl[-2:])
print( xr[-2:])
}}
*** グラフの作成 [#j458a458]
- まえおき~
グラフを描くとき、一つの関数に、数多くのオプションをつけ...
近年は、関数を追加していくのが主流である。グラフの見た目...
~
- matplotlib の場合~
[[コードとグラフ>https://colab.research.google.com/drive/...
#code(python){{
import matplotlib.pyplot as plt
etime = []
for i in range(nloop):
etime += [i * dt]
print( len(etime) )
print( len(xe) )
plt.plot( etime, xe[::2], label="Euler")
plt.plot( etime, xl[::2], label="LeapFrog")
plt.plot( etime, xr[::2], label="RungeKutta")
plt.legend()
}}
#img64(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiIA...
- plotly の場合~
plotly の場合は、美しいだけでなく、インタラクティブなグラ...
[[コードとグラフ>https://colab.research.google.com/drive/...
#code(python){{
import plotly.graph_objects as go
etime = []
for i in range(nloop):
etime += [i * dt]
print( len(etime) )
print( len(xe) )
fig = go.Figure()
fig.add_trace(go.Scatter(x=etime, y=xe[::2], name='Euler'))
fig.add_trace(go.Scatter(x=etime, y=xl[::2], name='LeapFr...
fig.add_trace(go.Scatter(x=etime, y=xr[::2], name='RungeK...
}}
ここに掲載したのは画像なので、クリックしても何も起こらな...
&ref(newplot.png);
ページ名: