3

Mathematica を使ってプロットを作成しました。R を使用すると、このプロットをよりエレガントに見せることができると思います。

Rでそのようなプロットを作成するにはどうすればよいですか?

Mathematica プロット

関数 M_{\pm} についてです

M^2_\pm = \frac{y \pm \sqrt{14x + 6xy + y^2}}{2x}

以下はプロットに表示されます

  • 曲線 M^2_+ = M_-
  • 曲線 M^2_+ = 0
  • 曲線 M^2_- = 0
  • M^2_+ と M^2_- の両方が > 0 である影付きの領域
  • テキスト付きのいくつかのポイント

新しいプロットで

  • Rでは通常のように、軸はプロットの外側にある必要があります
  • 写真のテキストと矢印のよりエレガントな代替案を歓迎します

PS RI のヘルプ ページでそのようなプロットを作成しようとしましたが、プロットと曲線の基本的な使用法を超えることはできませんでした。

更新多分輪郭は仕事をすることができます

4

1 に答える 1

1

次のようなことができます。

f <- function(x,y){x*y}
x <- seq(0.2,2,length=1000)
objective <- 0.5
y <- c()
for(i in 1:length(x)){
  y[i] <- optimize(function(y){abs(f(x[i],y)-objective)},interval=c(0,4))$minimum
}
plot(x,y,type="l")

このプロットは、0.2 から 2 の間の x に対して関数 x*y=0.5 がどこにあるかを示しています。これは非常にハックであることに注意してください。optimize速度が遅く、forループは通常、R では可能な限り避ける必要があります。

f(x,y) = x*y = 0.5 のプロット

于 2012-06-13T04:12:32.910 に答える