パラメトリック等高線図?



Parametric Contour Plot



解決:

$ u = f_1(x)$と$ v = f_2(y)$を呼び出しましょう。 $ x $と$ y $に対して$ g(u、v)= 1 $をプロットしますか、それとも$ u $と$ v $に対して$ g(x、y)= 1 $をプロットしますか? @billの答えは前者を行います。後者を行う方法は次のとおりです。ParametricPlot、およびを使用して等高線を定義しますMeshFunctions。

f1 [x _]:= Log [1 + x] f2 [y _]:= Exp [y] -1 g [x_、y _]:= x ^ 2 + y ^ 2 ParametricPlot [{f1 [x]、f2 [y ]}、{x、-1.2、1.2}、{y、-1.2、1.2}、MeshFunctions-> {Function [{u、v、x、y}、g [x、y]]}、Mesh-> { {1}}、MeshStyle-> Directive [Opacity [1]、Black]]

ここに画像の説明を入力してください



設定できますPlotStyle-> None、BoundaryStyle-> None、Axes-> False(デフォルトにもっと似せたい場合)ContourPlot。

残念ながら、MaxRecursionは輪郭を改善するのに役立たないので、より良い品質が必要な場合は増やす必要がありますPlotPoints。




それはあなたが恐れるよりも簡単です。最初のコマンドはContourPlot ...です。g、これにより半径1の円が得られます。

g [x_、y _]:= x ^ 2 + y ^ 2; ContourPlot [g [x、y] == 1、{x、-2、2}、{y、-2、2}]

今、あなたは2つの機能を持っていると言いますf1とf2

f1 [x _]:=ログ[x]; f2 [y _]:= Exp [y]; ContourPlot [g [f1 [x]、f2 [y]] == 1、{x、-2、2}、{y、-2、2}]

Mathematicaグラフィックス



これで、入れ子関数の等高線図が得られます。


の出力を後処理することもできます2つの関数に依存する変換を使用して等高線を変換するContourPlott1とt1:

postProcess [t1_、t2_、col_:LightBlue]:= Show [#/。 GraphicsComplex [c_、p _]:> GraphicsComplex [Transpose [{t1 / @#、t2 / @#2}&@@ Transpose [c]]、p]、PlotRange-> All] /。 Line [x _]:> {Thick、Line [x]、col、Polygon [x]}&

@Rahulの回答の例を少し変更して使用すると、次のようになります。

f1 [x _]:= Re @ Log [1 + x] f2 [y _]:= Re [Exp [y] -1] g [x_、y _]:= x ^ 2 + y ^ 2 cp = ContourPlot [g [ x、y] == 1、{x、-1.2、1.2}、{y、-1.2、1.2}、FrameLabel-> {{Style ['y'、16]、 ''}、{Style ['x' 、16]、 ''}}、ImageSize-> 400]; Row [{cp、Show [postProcess [f1、f2] @ cp、FrameLabel-> {{Style [Subscript [f、2] [y]、16]、 ''}、{Style [Subscript [f、1] [ x]、16]、 ''}}]}、スペーサー[10]]

ここに画像の説明を入力してください

cp2 = ContourPlot [g [x、y]、{x、-1.2、1.2}、{y、-1.2、1.2}、Contours-> {.1、.5、1}、FrameLabel-> {{Style [' y '、16]、' '}、{Style [' x '、16]、' '}}、ImageSize-> 400、ContourShading-> None]; Row [{cp2、Show [postProcess [f1、f2] @ cp2、FrameLabel-> {{Style [Subscript [f、2] [y]、16]、 ''}、{Style [Subscript [f、1] [ x]、16]、 ''}}]}、スペーサー[10]]

ここに画像の説明を入力してください