2016-11-22 7 views
2

私は、SymPyで関数x^2のプロットを作成しようとしていて、それをx = 3、y = 9の行にオーバーレイして、ある点を中心に円を描画したいとします。上記のすべてをコードで実行しました。SymPyの多色プロット

import sympy as sp 
x = sp.Symbol('x') 

# first plot the function 
sp.plotting.plot_parametric((x, x**2, (x,0,4)), 
    # then the straight lines 
    (3, x, (x,0,16)), (x, 9, (x,0,4)), 
    # then the circle 
    (.1*sp.cos(x)+3.1, .1*sp.sin(x)+(3.1**2), (x,0,6.5))) 

ただし、すべての曲線は青色で、それぞれの曲線を異なる色にしたいと思います。私が何かを持っているときだけ、私はいくつかの曲線を持っているときにこれを行う方法を私に教えてくれなかったドキュメントを見て、いくつかの場所でline_color='red'を投げて周りを歩いていても、誰でも適切な方法や良いハックを知っていますか?

答えて

3

3つの関数をプロットしたので、通常の方法で3つのプロットがあります。いわゆるという美学を次のように個別に変更することができます。この点については、line_colorはfloatを返す関数でなければならないという文書を読んではいけません。もしあなたがしたら、私はちょうど暗い穴の中を過ごしたように1時間を費やすかもしれません。

>>> from sympy import * 
>>> var('x') 
>>> aPlot = plotting.plot_parametric((x, x**2, (x,0,4)), (3, x, (x,0,16)), (x, 9, (x,0,4)), (.1*cos(x)+3.1, .1*sin(x)+(3.1**2), (x,0,6.5))) 
>>> aPlot[0].line_color='r' 
>>> aPlot[1].line_color='g' 
>>> aPlot.show() 
+1

_「この時点のドキュメントを読んではいけません」_ = +1 – gboffi