添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
打酱油的香蕉  ·  Cantonese ...·  1 月前    · 
乖乖的手套  ·  超级链BaaS-百度超级链·  7 月前    · 
好帅的抽屉  ·  【冰点】:我们是主角·  8 月前    · 
2
3

More than 5 years have passed since last update.

sympy.plottingでaspect_ratioが変えられない? 件について

Last updated at Posted at 2017-07-27
sympy.plottingでaspect_ratioが変えられない? 件について

私の勘違いだったらすいません.
私の知識不足でした. @SaitoTsutomu 様にコメントをいただき 解決 しました.

jupyter notebook を起動します.まずは下準備.

from sympy.plotting import plot, plot_implicit, plot_parametric
from sympy import symbols, sin, cos, pi
x, y, t = symbols('x y t')
plot(x**2, (x, -2, 2))

とすれば, $-2\leqq x\leqq 2$ の範囲における $y=x^2$ が描写されます.

複数の関数のグラフを同時に表示することも可能です.$y=x^2$ と $y=x$ を同じ座標空間に描写します.

plot(x**2, x, (x, -2, 2))

縦横のアスペクト比が気になりますが,一応円です.plot_implicit は二つ以上の式を設定して,複数の曲線を描くことができないみたいです.陰関数はそれだけプロットが面倒だということでしょうか.

plot_parametric

これが本命.$y=f(x)$ だとどうしても表現が制限されます.そこで媒介変数表示で表される図形の描写です.例えば
x = \cos t,\ y = \sin t\quad (0\leqq t\leqq 2\pi)
は同じく原点を中心とする半径 $1$ の円ですが,これをプロットするには次のようにします.

plot_parametric(cos(t), sin(t), (t, 0, 2*pi))

axisオプションは適用されているのは確認できますが,aspect_ratioは応答なし.Googleで検索してみたんですが,英語サイトばかりで,一応,少し目を通してみましたが,すっきりした解答は得られず.

そもそもsympyのplotはmatplotlibを仲介しているらしく,matplotlibの設定を無理矢理変更する? みたいな解答があったんですが,それをやるなら最初からmatplotlibで図示した方がよいのではないかと思う始末でした.

**kwargsって……

プログラマでもなんでもない素人の私の意見なんですが,**kwargsって想定していないキーワードを突っ込んでも特にエラーが出ないんですね.結構危ない仕様なのではないだろうか……aspect_ratioのスペルミスなども考えたんですが,うんともすんとも言わないから,aspect_ratioというオプションを認識しているかどうかすらよく分かりませんでした.

aspect_ratioと画面サイズは違うとのこと.

from sympy.plotting import plot_parametric
from sympy import symbols, sin, cos, pi
t = symbols('t')
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (8,8)
plot_parametric(cos(t), sin(t), (t, 0, 2*pi))

無事 $1:1$ で表示されました.@SaitoTsutomu 様,ありがとうございました.

2
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3