0

1 フレームに 2 つのグラフをプロットしたい。基本的には結果を比較したい。

とにかく、私が試したコードは次のとおりです。

    plot(male,pch=16,col="red")
    lines(male,pch=16,col="red")
    par(new=TRUE)
    plot(female,pch=16,col="green")
    lines(female,pch=16,col="green")

実行すると、フレームに 2 つのプロットが表示されますが、y 軸が変わります。以下に私のプロットを追加しました。とにかく、y 軸の値は -4、-4、-3、-3、... 両方のプロットに独自の軸が表示されているようです。ここに画像の説明を入力

助けてください。

ありがとう

4

2 に答える 2

4

2番目は必要ありませんplot。使うだけ

> plot(male,pch=16,col="red")
> lines(male, pch=16, col = "red")
> lines(female, pch=16, col = "green")
> points(female, pch=16, col = "green")

注: これにより、最初のデータ セットに基づいてフレーム境界が設定されるため、2 番目のプロットの一部のデータがプロットの境界の外にある可能性があります。たとえば、最初のプロットの制限を自分で設定することで修正できます。

于 2013-06-25T04:28:58.183 に答える
1

この種のプロットでは、通常、プロットの方がggplot2はるかに優れています。主な理由: 多くのコードなしで 2 行以上にうまく一般化されます。

サンプル データの欠点はdata.frame、ggplot2 に必要な として利用できないことです。さらに、どの場合でも、プロットする x 変数が必要です。したがって、最初にデータから data.frame を作成しましょう。

dat <- data.frame(index=rep(1:10, 2), vals=c(male, female), group=rep(c('male', 'female'), each=10))

それは私たちに残します

> dat
   index          vals  group
1      1 -0.4334269341   male
2      2  0.8829902521   male
3      3 -0.6052638138   male
4      4  0.2270191965   male
5      5  3.5123679143   male
6      6  0.0615821014   male
7      7  3.6280155376   male
8      8  2.3508890457   male
9      9  2.9824432680   male
10    10  1.1938052833   male
11     1  1.3151289227 female
12     2  1.9956491556 female
13     3  0.8229389822 female
14     4  1.2062726250 female
15     5  0.6633392820 female
16     6  1.1331669670 female
17     7 -0.9002109636 female
18     8  3.2137052284 female
19     9  0.3113656610 female
20    10  1.4664434215 female

私のコマンドは、それぞれ 10 個のデータ値があると想定していることに注意してください。そのコマンドは、実際のデータに従って調整する必要があります。

これで、ggplot2 の強力な機能を使用できます。

library(ggplot2)
ggplot(dat, aes(x=index, y=vals, color=group)) + geom_point() + geom_line()

上記の呼び出しには 3 つの要素があります:プロットを初期化し、データソースとしてggplot使用するように R に指示し、プロットの美学を定義します。より良い: プロットの美的特性 (色、位置、サイズなど) がデータによって影響を受けます。期待どおりに値と値を使用し、さらに美学をグループ化変数に設定します。これにより、ggplot は 2 つのグループを異なる色で自動的にプロットします。最後に、2 つのジオメトリを追加します。これは、上に書かれているほとんどのことを行います: 線を描画し、点を描画します。datxycolor

結果:

ggplot を使用したデータのプロット

R の標準的な方法で (data.frame に) データを保存している場合は、1 行のコードで終了します。そして、数千年の進化の後で別の性別を追加したい場合でも、それはまだ 1 行のコードです。

于 2013-06-25T06:37:08.323 に答える