仅显示 ggplot2 (ggparcoord) 中选定的图例

问题描述 投票:0回答:1

在以下用于绘制平行坐标的代码(reference)中,我只想显示“5”列的有限数量的图例。 我使用第 5 列在图中进行分组。第 5 列有多个唯一值,当我绘图时,所有值都会打印为图例(请参阅随附的屏幕截图)。

有没有办法修改以下代码以仅在图例中显示几个值? 例如,在图中,我想丢弃 >=410 的值

suppressPackageStartupMessages(library(dplyr))
suppressPackageStartupMessages(library(viridis))
suppressPackageStartupMessages(library(ggplot2))
suppressPackageStartupMessages(library(ggthemes))
suppressPackageStartupMessages(library(hrbrthemes))
suppressPackageStartupMessages(library(GGally))
suppressPackageStartupMessages(library(gridExtra))

plt2<-suppressWarnings(print(ggparcoord(data,
    columns = c(1,2,3, 4),
    groupColumn = 5,splineFactor = 20, #order = "skewness",#splineFactor = TRUE, order = "skewness",
    scale="globalminmax",
    showPoints = TRUE, title = "All Fts.",
    alphaLines = 0.5) )) +#+ scale_color_viridis(discrete=TRUE)
  theme_economist_white(base_family="Arial Narrow", gray_bg = FALSE)+
  scale_colour_economist()+
  theme(axis.line = element_line(color='black'), #legend.position = "none",
    plot.background = element_blank(),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.border = element_blank())+scale_x_discrete(limit=c('Min Rows', 'Max Depth', 'MTries','AUC'))+
  guides(colour = guide_legend(override.aes = list(alpha = 5)))
#+scale_colour_manual(limits = c("10", "60", "110", "160", "210", "260", "310", "360","410"))

ggplot2 gridextra ggally
1个回答
0
投票

也许您可以在绘图之前过滤感兴趣的群体?例如

library(tidyverse)
# install.packages("GGally")
library(GGally)

# example data
df <- iris

# add a row to be removed
df2 <- df %>%
  add_row(Sepal.Length = 5, Sepal.Width = 3,
          Petal.Length = 5, Petal.Width = 2, Species = "")
tail(df2)
#>     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
#> 146          6.7         3.0          5.2         2.3 virginica
#> 147          6.3         2.5          5.0         1.9 virginica
#> 148          6.5         3.0          5.2         2.0 virginica
#> 149          6.2         3.4          5.4         2.3 virginica
#> 150          5.9         3.0          5.1         1.8 virginica
#> 151          5.0         3.0          5.0         2.0

# normal plot
ggparcoord(data = df2,
           columns = 1:4,
           groupColumn = 5,
           splineFactor = 20)


# keep the groups of interest
ggparcoord(data = df2 %>%
             filter(Species %in% c("setosa", "virginica", "versicolor")),
           columns = 1:4,
           groupColumn = 5,
           splineFactor = 20)

创建于 2023-08-30,使用 reprex v2.0.2

这种方法适用于您的实际数据吗?

© www.soinside.com 2019 - 2024. All rights reserved.