簡體   English   中英

在 r 中使用 scale_linetype_manual 錯誤顯示名稱

[英]Incorrectly displayed names using scale_linetype_manual in r

假設我的數據如下

structure(list(Date_spill = structure(c(14821, 14821, 14821, 
14822, 14822, 14822, 14823, 14823, 14823, 14824, 14824, 14824, 
14825, 14825, 14825, 14826, 14826, 14826, 14827, 14827, 14827, 
14828, 14828, 14828, 14829, 14829, 14829, 14830, 14830, 14830
), class = "Date"), name = c("Total_Var.V2", "Total_Cov.V2", 
"Total_Semi.V2", "Total_Var.V2", "Total_Cov.V2", "Total_Semi.V2", 
"Total_Var.V2", "Total_Cov.V2", "Total_Semi.V2", "Total_Var.V2", 
"Total_Cov.V2", "Total_Semi.V2", "Total_Var.V2", "Total_Cov.V2", 
"Total_Semi.V2", "Total_Var.V2", "Total_Cov.V2", "Total_Semi.V2", 
"Total_Var.V2", "Total_Cov.V2", "Total_Semi.V2", "Total_Var.V2", 
"Total_Cov.V2", "Total_Semi.V2", "Total_Var.V2", "Total_Cov.V2", 
"Total_Semi.V2", "Total_Var.V2", "Total_Cov.V2", "Total_Semi.V2"
), value = c(49.4546983682789, 51.9303086440996, 92.629674668831, 
49.4548705378623, 51.9568197311001, 92.6639221895955, 49.4050580381077, 
52.0759311138546, 92.6960916166521, 49.4105943879168, 52.0780444332815, 
92.7383532168068, 49.4138062869719, 52.1659343814577, 92.7264996022303, 
49.9540234458416, 52.7289455840081, 92.8136667785365, 49.9103140374395, 
52.8808260158253, 92.805208075033, 49.655075046784, 51.7281324622375, 
92.7607146196158, 49.6062909588621, 51.8989768324288, 92.7160066233307, 
49.3349721254447, 51.6577369988633, 92.6983797038236)), row.names = c(NA, 
-30L), class = c("tbl_df", "tbl", "data.frame"))

我有一個帶有 3 行的 plot ,我使用scale_linetype_manualscale_color_manual定義了這些行的顏色和類型。 問題是,當我使用這兩個命令時,行的名稱與正確的 model 不對應。

我正在使用的代碼如下:

library(tidyverse)
ggplot(Total, aes(x = Date_spill, y=value, colour = name, linetype = name)) +
  geom_line() + 
  theme_test() +
  scale_color_manual(values = c("darkseagreen3", "skyblue3", "firebrick3"), 
                     labels = c("MHAR-ReVar",
                                "MHAR-ReCov", 
                                "MSHAR")) +
  scale_linetype_manual(values = 1:3, 
                        labels = c("MHAR-ReVar",
                                   "MHAR-ReCov", 
                                   "MSHAR")) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1), 
        legend.position = "bottom",
        legend.title = element_blank())+
  labs(x = "", y="")

結果如下,問題是圖例與數據不一致。 我想說紅色虛線代表MHAR-ReVar的數據,實線代表MHAR-ReCov的數據在此處輸入圖像描述

嘗試這個:

library(ggplot2)


ggplot(Total, aes(x = Date_spill, y=value, colour = name, linetype = name)) +
  geom_line() + 
  theme_test() +
  scale_color_manual(breaks = c("Total_Var.V2", "Total_Cov.V2", "Total_Semi.V2"),
                     values = c( "firebrick3", "darkseagreen3", "skyblue3"), 
                     labels = c("MHAR-ReVar",
                                "MHAR-ReCov", 
                                "MSHAR")) +
  scale_linetype_manual(breaks = c("Total_Var.V2", "Total_Cov.V2", "Total_Semi.V2"),
                        values = c(2, 1, 3), 
                        labels = c("MHAR-ReVar",
                                   "MHAR-ReCov", 
                                   "MSHAR")) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1), 
        legend.position = "bottom",
        legend.title = element_blank())+
  labs(x = "", y="")

代表 package (v1.0.0) 於 2021 年 4 月 6 日創建

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM