点と線の凡例記号が異なる 質問する

点と線の凡例記号が異なる 質問する

ここに私のコードと添付のプロット結果があります:

g <-ggplot(NDVI2, aes(LAI2, NDVI, colour = Legend)) + 
    theme_bw (base_family = "Times") + 
    scale_colour_manual (values = c("purple", "green", "blue", "yellow",  "magenta","orange", "cyan", "red", "black")) + 
    geom_point (size = 3) +
    geom_smooth (aes(group = 1, colour = "Trendline"), method = "loess", size = 1, linetype = 5, se = FALSE) +
    geom_smooth (aes(group = 1, colour = "Regression (log)"),linetype = 1, size=1.2,method = "lm", formula = y~ log(x), se = FALSE) + 
    labs (title = "Correlation of LAI and NDVI")+ 
    theme (legend.title = element_text (size = 15)) 

その結果、次の図が生まれます。

ここに画像の説明を入力してください

ご覧のとおり、凡例アイコンはすべて同じに見えます。ポイントはポイントとして表示され、2 つの線 (「回帰」と「トレンドライン」) は線として表示されることが必要です。

使ってみた

guides (colour = guide_legend (override.aes = list(size = 1.5)))

しかし、それは私に再び同じ方法ですべてのアイコンを与え、それらを区別する方法を理解することができません

私は R 初心者で、これが初めての「複雑な」プロットです。オンライン ヘルプや Google でいろいろ調べてみましたが、この問題の解決策が見つかりません。お時間を割いてご協力くださった皆様に感謝します。

ここにdput私のデータの一部を示します:

NDVI2 <- read.table(header = TRUE, text = "
          MeanRED    MeanNIR          NDVI              LAI2 Legend
'LAI 1-1' 3.240264   46.8226195806452 0.870552242769623 1.1  LAI 1
'LAI 1-2' 6.97950484 48.4417953548387 0.748129155560663 1.2  LAI 1
'LAI 1-3' 3.75052276 47.8913064516129 0.854748647859414 1.3  LAI 1
'LAI 1-4' 4.62617908 43.9416386774194 0.809496111062421 1.4  LAI 1
'LAI 2-1' 4.07743944 44.7524788709677 0.832994214160536 2.1  LAI 2
'LAI 2-2' 4.88961572 52.2142607741935 0.828746627367857 2.2  LAI 2
'LAI 2-3' 3.15865532 48.6422146774194 0.878046244390978 2.3  LAI 2
'LAI 2-4' 2.28368236 44.6617992580645 0.902709173224405 2.4  LAI 2
'LAI 3-1' 3.40793788 57.7213822580645 0.888500710549276 3.1  LAI 3
'LAI 3-2' 4.28833416 58.5066447096774 0.863417928083076 3.2  LAI 3
'LAI 3-3' 4.52529496 56.6924350967742 0.852157374806182 3.3  LAI 3
'LAI 3-4' 2.45698208 57.4100250967742 0.917918660181389 3.4  LAI 3
'LAI 4-1' 3.84003364 58.0419292903226 0.875891666709934 4.1  LAI 4
'LAI 4-2' 4.31006672 58.7054423225806 0.863206160341016 4.2  LAI 4
'LAI 4-3' 3.29672264 58.5283540645161 0.893353221193523 4.3  LAI 4
'LAI 4-4' 4.21926652 54.7658463548387 0.856937918252258 4.4  LAI 4
'LAI 5-1' 4.64357012 58.8950077096774 0.853834622095331 5.1  LAI 5
'LAI 5-2' 3.94445908 58.2421209354839 0.873141147848366 5.2  LAI 5
'LAI 5-3' 3.95942484 57.8538210645161 0.871890732089488 5.3  LAI 5
'LAI 5-4' 1.22673756 50.209727516129  0.952300860559358 5.4  LAI 5
'LAI 6-1' 4.70933136 59.5780209354839 0.853491201866442 6.1  LAI 6
'LAI 6-2' 5.33718396 60.1662100645161 0.837040994913869 6.2  LAI 6
'LAI 6-3' 5.71857348 62.1929408387097 0.831587513918106 6.3  LAI 6
'LAI 6-4' 5.7014266  60.3309026451613 0.827314084928549 6.4  LAI 6
'LAI 7-1' 3.85938572 57.859932516129  0.874937512911774 7.1  LAI 7
'LAI 7-2' 6.07816804 63.5678422258065 0.825455384542418 7.2  LAI 7
'LAI 7-3' 2.93602476 55.2536370967742 0.899087753174211 7.3  LAI 7
'LAI 7-4' 5.00289296 60.1808743548387 0.846498808949291 7.4  LAI 7
")

ベストアンサー1

override.aesは、凡例をカスタマイズするための良いスタートです。あなたの場合、shape凡例の不要な部分を に設定して削除しNA、不要な部分linetypeを に設定することができますblank

ggplot(data = NDVI2, aes(x = LAI2, y = NDVI, colour = Legend)) + 
  geom_point(size = 3) +
  geom_smooth(aes(group = 1, colour = "Trendline"),
               method = "loess", se = FALSE, linetype = "dashed") +
  geom_smooth(aes(group = 1, colour = "Regression (log)"),
               method = "lm", formula = y ~ log(x), se = FALSE, linetype = "solid") +
  scale_colour_manual(values = c("purple", "green", "blue", "yellow", "magenta","orange", "cyan", "red", "black"),
                       guide = guide_legend(override.aes = list(
                         linetype = c(rep("blank", 7), "solid", "dashed"),
                         shape = c(rep(16, 7), NA, NA))))

ここに画像の説明を入力してください

おすすめ記事