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

Why do I get the weird purple line in ggplot?












1
vote

問題

日本語

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

<事前> <コード> 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. enter image description here

</div
     

回答リスト

2
 
vote
vote
ベストアンサー
 

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
 
vote

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 ) 
今すぐ後にこの問題について立ち往生しています。さまざまなタイムポイントが実際に異なる変数(または列)のようなスパゲッティプロットを作成しようとしているので、変数は次のようなものです。 Test1 Test3 <コード>、<コード> Test3 < / COD...

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 ) 
親愛なる仲間のHomo Sapiens、 このグラフ( + scale_x_date <<)を使用して/ CODE>)。 これを行ったデータ・セットは、ここ。それはこのように見えます: <事前> <コード> GFC1CARi<-read.csv("demo....

6  Rのプロットに2番目の凡例を追加します  ( Add a second legend in the plot in r ) 
列の係数に基づいてデフォルトの凡例を得ました。私は別の列の要因に基づいてx軸を着色しました。 このX軸の色の凡例も追加できますか? マージされたデータ( https://dl.dropbox.com/u / 81597211/ untitled.pdf ...

-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 ) 
先月のRでスピードアップしてきました。 これは私の質問です: 安定したマッピングを持つGGPLOT2のカテゴリカル変数に色を割り当てる良い方法は何ですか?異なるサブセットと異なる数のカテゴリカル変数を持つグラフのセットにわたって一貫した色が必要です。 例えば...

0  Rの複数のGGPLOTSのループの場合  ( For loop for multiple ggplots in r ) 
私はこれを持っています <事前> <コード> Product <- c("X","Y","Z") Var1 <- runif(3) Var2 <- rnorm(3) Var3 <- rnorm(3) df <- data.frame(Product,Var1...

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 ) 
解決策なしでGoogleを介してラウンドをやりましたので、できるのならお手伝ってください。 私はこのようなものを作成しています。圧力 - 疼痛感度 - マップ - 圧力 - 疼痛閾値 - PPT - MAPS - in-the-opper.png "...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有