R 提高ggplot中散点图的可读性,ggplot

R 提高ggplot中散点图的可读性,ggplot,r,ggplot2,scatter-plot,R,Ggplot2,Scatter Plot,我使用ISLR库中的自动数据集和gpairs库中的函数ggpairs()创建所有可能的变量组合的散点图。我的代码如下: data(Auto) setDT(Auto) ggpairs(Auto[, -c("name"), with = FALSE] , lower = list(continuous = wrap("points", color = "red", alpha = 0.5), combo = wrap("box", col

我使用ISLR库中的自动数据集和gpairs库中的函数ggpairs()创建所有可能的变量组合的散点图。我的代码如下:

data(Auto)
setDT(Auto)
ggpairs(Auto[, -c("name"), with = FALSE] , 
        lower = list(continuous = wrap("points", color = "red", alpha = 0.5), 
                     combo = wrap("box", color = "orange", alpha = 0.3), 
                     discrete = wrap("facetbar", color = "yellow", alpha = 0.3) ), 
                    diag = list(continuous = wrap("densityDiag",  color = "blue", alpha = 0.5) ))+
     theme(axis.text.x = element_text(angle = 90, hjust = 1))
该图如下所示:

此图存在一些问题:

  • 轴刻度标签不可读。我如何删除数字,并可能旋转刻度标签,使其与轴垂直

  • 如何为组合对强制使用不同的颜色(分类-连续)


  • 您的建议将不胜感激。

    也许建议的解决方案与您的愿望并不完全相符,但我希望它能有所帮助

  • 您需要调用更多库才能使代码正常工作
  • 您需要有一些因素来“强制”分类变量被称为这样的变量
  • 以下代码可能会执行此操作:

    library(ISLR)
    library(data.table)
    library(GGally)
    library(ggplot2)
    data(Auto, package = "ISLR")
    
    # remove unwanted column and make categorical variables
    Auto2 <- Auto[, -9]
    Auto2$cylinders <- factor(Auto2$cylinders)
    Auto2$origin <- factor(Auto2$origin)
    
    ggpairs(Auto2 , 
            lower = list(continuous = wrap("points", color = "red", alpha = 0.5), 
                         combo = wrap("box", color = "orange", alpha = 0.3), 
                         discrete = wrap("facetbar", color = "yellow", alpha = 0.3) ), 
            diag = list(continuous = wrap("densityDiag",  color = "blue", alpha = 0.5) ))
    
    库(ISLR)
    库(数据表)
    图书馆(GGALY)
    图书馆(GG2)
    数据(自动,package=“ISLR”)
    #删除不需要的列并生成分类变量
    
    Auto2非常棘手的东西,梳子包装器使用因子级别作为输入来更改颜色(如@KoenV的示例所示),而不是离散的,这有点用词不当。但是,更改类会更改上部/诊断部分

    我找到的唯一替代方法是使用
    putPlot
    手动更改绘图

    # remove ticks (I don't get labels when plotting it)
    
    p = ggpairs(Auto[, -c("name"), with = FALSE] , 
            lower = list(continuous = wrap("points", color = "red", alpha = 0.5), 
                         combo = wrap("box", color = "orange", alpha = 0.3), 
                         discrete = wrap("facetbar", color = "yellow", alpha = 0.3)), 
            diag = list(continuous = wrap("densityDiag",  color = "blue", alpha = 0.5) ))+
            theme(axis.text = element_blank(),axis.ticks = element_blank())
    
    并更改单个绘图并添加一个方框图/+颜色(可能在所需绘图上循环)

    cp = ggplot(Auto) +
      geom_boxplot(aes(as.factor(cylinders), mpg),color="orange")
    putPlot(p, cp, 2,1)
    

    示例代码正确吗?即使在
    library(gpairs)
    library(ISLR)
    之后,我的机器也无法识别
    setDT
    ggpairs
    @lebelinoz您需要分别添加库
    数据。table
    GGaly
    。这太好了,Koen!谢谢!@rf7我很高兴能为您提供帮助。