ggplot() を使用して同じプロットに複数の時系列をプロットする 質問する

ggplot() を使用して同じプロットに複数の時系列をプロットする 質問する

私は R を使い始めたばかりで、ggplot2 を使用して 2 つの時系列線を同時に (もちろん異なる色を使用して) プロットしようとしています。

データ フレームが 2 つあります。最初のデータ フレームには、「X のパーセント変更」列と「日付」列があります。2 番目のデータ フレームにも、「Y のパーセント変更」列と「日付」列があります。つまり、どちらも「日付」列の値は同じですが、「パーセント変更」列の値は異なります。

ggplot2 を使用して、単一のプロットで「パーセント変化」列を「日付」(両方に共通)に対してプロットしたいと思います。

オンラインで見つけた例では、同じデータ フレームを異なる変数で使用してこれを実現していましたが、2 つのデータ フレームを使用してプロットを作成する例は見つかりませんでした。2 つのデータ フレームを結合するのではなく、別々にしておきたいのです。以下は私が使用しているコードです。

ggplot(jobsAFAM, aes(x=jobsAFAM$data_date, y=jobsAFAM$Percent.Change)) + geom_line() +
  xlab("") + ylab("")

しかし、このコードでは 1 行しか生成されないので、その上にもう 1 行追加したいと思います。どなたか助けていただければ幸いです。TIA。

ベストアンサー1

ggplot複数のレイヤーを持つことができるので、ここではそれを活用する必要があります。

以下に作成されたプロットでは、geom_line各データセットにアクセスし、それらを 1 つのプロットにまとめてプロットする 2 つのステートメントがあることがわかります。他のデータセット、プロット、または軸ラベルなどのチャートの機能を追加する場合は、このロジックを拡張できます。

library(ggplot2)

jobsAFAM1 <- data.frame(
  data_date = runif(5,1,100),
  Percent.Change = runif(5,1,100)
)

jobsAFAM2 <- data.frame(
  data_date = runif(5,1,100),
  Percent.Change = runif(5,1,100)
)

ggplot() + 
  geom_line(data = jobsAFAM1, aes(x = data_date, y = Percent.Change), color = "red") +
  geom_line(data = jobsAFAM2, aes(x = data_date, y = Percent.Change), color = "blue") +
  xlab('data_date') +
  ylab('percent.change')

おすすめ記事