# GGplotで奇妙な紫色の行を入手するのはなぜですか？ -- r フィールド と ggplot2 フィールド 関連 問題

## Why do I get the weird purple line in ggplot?

1

### 問題

マイコードは以下の通りです。複製する必要があります。これはデータをダウンロードし、データを除去し、黄骨ラインの構築、次にグラフを追加するためのコードです。

<事前> <コード> library(tidyverse) library(macleish) library(lubridate) mydata <- whately_2015 mydata <- whately_2015 %>% dplyr::select(temperature, when) %>% mutate(when = as_date(mydata\$when), temperature = temperature * (9/5)+32) mydata\$seasons <- as.character(c(rep("Winter", 11232), rep("Spring", 24624-11232), rep("Summer", 38161-24624), rep("Autumn", 50976-38161), rep("Winter", 52560-50976))) start_dates <- mdy(c("03/20/2015","06/21/2015", "09/23/2015", "12/21/2015")) end_dates <- mdy(c("03/19/2015", "06/20/2015", "09/22/2015", "12/20/2015", "12/31/2015")) Season = c("Spring Equinox- 3/20", "Summer Solstice- 6/21", "Autumn Equinox- 9/23", "Winter Solstice- 12/21") start_dates_gg <- mdy(c( "01/01/2015", "03/20/2015","06/21/2015", "09/30/2015")) Season_gg = c("Winter Solstice- 12/21", "Spring Equinox- 3/20", "Summer Solstice- 6/21", "Autumn Equinox- 9/23") mydata\$datenum <- as.numeric(mydata\$when) model10 <- loess(temperature ~ datenum, data=mydata, span = 0.10) mydata\$smoothed10 <- predict(model10) ggplot(data=mydata, aes(x=when)) + geom_line(aes(y=smoothed10, col=seasons)) + theme_bw() + annotate(geom="text", x=start_dates_gg, y=c(10, 27, 75, 60), label=Season_gg, hjust=0, col = c("#C77Cff","#7CAE00","#00BFC4","#F8766D")) + theme(legend.position="bottom") + labs(title = "Weather and Seasons", x = "Date", y= "Temperature (F)")

my code is below. It should replicate. This is code for downloading the data, wrangling the data, building the loess line and then adding the graph.

``library(tidyverse) library(macleish) library(lubridate)  mydata <- whately_2015 mydata <- whately_2015 %>%    dplyr::select(temperature, when) %>%   mutate(when = as_date(mydata\$when), temperature = temperature * (9/5)+32)  mydata\$seasons <- as.character(c(rep("Winter", 11232), rep("Spring", 24624-11232), rep("Summer", 38161-24624), rep("Autumn", 50976-38161), rep("Winter", 52560-50976)))  start_dates <- mdy(c("03/20/2015","06/21/2015", "09/23/2015", "12/21/2015")) end_dates <- mdy(c("03/19/2015", "06/20/2015", "09/22/2015", "12/20/2015", "12/31/2015")) Season = c("Spring Equinox- 3/20", "Summer Solstice- 6/21", "Autumn Equinox- 9/23", "Winter Solstice- 12/21") start_dates_gg <- mdy(c( "01/01/2015", "03/20/2015","06/21/2015", "09/30/2015")) Season_gg = c("Winter Solstice- 12/21", "Spring Equinox- 3/20", "Summer Solstice- 6/21", "Autumn Equinox- 9/23")  mydata\$datenum <- as.numeric(mydata\$when) model10 <- loess(temperature ~ datenum, data=mydata, span = 0.10) mydata\$smoothed10 <- predict(model10)  ggplot(data=mydata, aes(x=when)) +  geom_line(aes(y=smoothed10, col=seasons)) +   theme_bw() +   annotate(geom="text", x=start_dates_gg, y=c(10, 27, 75, 60), label=Season_gg, hjust=0, col = c("#C77Cff","#7CAE00","#00BFC4","#F8766D")) +    theme(legend.position="bottom") +    labs(title = "Weather and Seasons", x = "Date", y= "Temperature (F)") ``

I get a weird graph that looks like this. Why the weird purple line running across the screen? The purple line is just meant for the Winter season.

</div

## 回答リスト

2

ベストアンサー

` group `` geom_line() `を追加するだけで` ggplot ` がすべてのポイントが属していることを知っているため、単線

` <コード> ggplot(data = mydata, aes(x = when)) +   geom_line(aes(y = smoothed10, col = seasons, group = 1)) + # add group here   theme_bw() +   annotate(geom = "text", x = start_dates_gg, y = c(10, 27, 75, 60),             label = Season_gg, hjust = 0, col = c("#C77Cff", "#7CAE00", "#00BFC4", "#F8766D")) +   theme(legend.position = "bottom") +   labs(title = "Weather and Seasons", x = "Date", y = "Temperature (F)")   `

2018-10-23 repress package （v0.2.1.9000）

You just need to add `group = 1` to your `geom_line()` call to let `ggplot` know that all the points belong together and should be connected with a single line.

``ggplot(data = mydata, aes(x = when)) +   geom_line(aes(y = smoothed10, col = seasons, group = 1)) + # add group here   theme_bw() +   annotate(geom = "text", x = start_dates_gg, y = c(10, 27, 75, 60),             label = Season_gg, hjust = 0, col = c("#C77Cff", "#7CAE00", "#00BFC4", "#F8766D")) +   theme(legend.position = "bottom") +   labs(title = "Weather and Seasons", x = "Date", y = "Temperature (F)") ``

Created on 2018-10-23 by the reprex package (v0.2.1.9000)

</div

0

` colour `マッピングをデフォルトで` group5 `にする場合は、同じ色のすべての点を接続します。追加の` group `マッピングを指定することで、e.：

<事前> <コード> ggplot(data=mydata, aes(x=when)) + geom_line(aes(y=smoothed10, col=seasons, group = lubridate::year(when))) + theme_bw() + annotate(geom="text", x=start_dates_gg, y=c(10, 27, 75, 60), label=Season_gg, hjust=0, col = c("#C77Cff","#7CAE00","#00BFC4","#F8766D")) + theme(legend.position="bottom") + labs(title = "Weather and Seasons", x = "Date", y= "Temperature (F)")

If you just have a `colour` mapping, by default `ggplot` will connect all points with the same colour. You can stop that by providing an additional `group` mapping that specifies which points should be connected, e.g.:

``ggplot(data=mydata, aes(x=when)) +     geom_line(aes(y=smoothed10, col=seasons, group = lubridate::year(when))) +     theme_bw() +     annotate(geom="text", x=start_dates_gg, y=c(10, 27, 75, 60), label=Season_gg,               hjust=0, col = c("#C77Cff","#7CAE00","#00BFC4","#F8766D")) +      theme(legend.position="bottom") +      labs(title = "Weather and Seasons", x = "Date", y= "Temperature (F)") ``
</div

## 関連する質問

1  タイムポイントとして異なる変数を持つスパゲッティプロットを作成します  ( Making spaghetti plot with different variables as timepoints )

0  R - GAM回帰（MGCV）応答曲線新しい変数を追加するときに形状/方向を変える  ( R gam regressions mgcv response curves change shape direction when adding ne )
MGCVパッケージを使用して（MGCVパッケージを使って）、いくつかの環境変数に対する1つの生物の存在量の変動を調べています。 私のデータは次のようになります： <事前> <コード> library(tidyverse) Station abd Tempe...

3  SCALE_X_DATEを使用して軸形式を変更するときのエラー  ( Error when changing axis format with scale x date )

6  Rのプロットに2番目の凡例を追加します  ( Add a second legend in the plot in r )

-2  rのX軸の離散データに間隔を追加する  ( Add more spacing to the x axis discrete data in r )
X軸内の各項目の間の間隔が非常に重要であることがわかります。それを増やす方法はありますか？ マージされたデータフレーム（ https://dl.dropbox.com/jp/81597211 / untitled.pdf ） <事前> <コード> ro...

182  ggplot2のカテゴリカル変数に色を割り当てる方法安定したマッピングがありますか？  ( How to assign colors to categorical variables in ggplot2 that have stable mappin )

0  Rの複数のGGPLOTSのループの場合  ( For loop for multiple ggplots in r )

5  GGPLOT2マップをフォーマットします  ( Format the ggplot2 map )
RでGGPLOT2を使ってWorldMapを作成しようとしています.Brazilian州から一人当たりのGDPを見たいです。 2つの問題があります： 国の中心には2つのラベルがあり、情報を読むのは簡単ではありません。それらは重複しています。解決されない数...

2  ggplot2のバープロットの上部にラベルなしでティックを追加する  ( Add ticks without labels on the top of a bar plot in ggplot2 )
タイトルが言うように、ggplot2のバープロットの上部にティックを追加したいと思います。出力は次のようになります。（機密情報による実際のプロットを隠す）。これはggplot2に関数がありますか？ ...

1  カラースムージングで2Dヒートマップを行う方法や絶対値からの密度プロットは？  ( How to do a 2d heatmap with color smoothing or a density plot from absolute )