【问题标题】:Scatter plot with ggplot2ggplot2 散点图
【发布时间】:2022-01-03 00:20:47
【问题描述】:

我正在尝试用 ggplot2 制作散点图。下面你可以看到数据和我的代码。

 data=data.frame(
      gross_i.2019=seq(1,101),
      Prediction=seq(21,121))
   
   
   ggplot(data=data, aes(x=gross_i.2019, y=Prediction, group=1)) +
      geom_point()
   

此代码生成如下图表

所以现在我想在散点图上使用两种不同的颜色,第一个是gross_i.2019,第二个是Prediction。我尝试在下面使用不同颜色的这段代码,但是这段代码这行代码只会将以前的颜色更改为新颜色。

sccater <- ggplot(data=data, aes(x=gross_i.2019, y=Prediction))
sccater + geom_point(color = "#00AFBB")

那么任何人都可以帮助我如何用两种不同的颜色(例如黑色和红色)制作这个情节,一个是gross_i.2019,第二个是Prediction

【问题讨论】:

  • 我不明白如果你只有一条线,你怎么会有两种颜色。您想要gross_i.2019 的一行,Prediction 的另一行吗?
  • 我希望为 Gross_i.2019 和 Prediction 的每个值设置不同的颜色。
  • 每个点的坐标是(总,预测),那么这两个值的颜色会有什么不同呢?你确定你想要的是散点图吗?

标签: r ggplot2


【解决方案1】:

我可能对您要完成的工作感到困惑,但您似乎没有两组数据来绘制两种不同的颜色。您有一个依赖(预测)和一个独立(gross_i.2019)变量,您正在为其绘制关系。如果 Prediction 和 Gross_i.2019 都应该是不同组的因变量,则需要一个公共自变量来分别绘制它们,对照(例如时间)。然后你可以做类似geompoint(color=groups)

Edit1:如果您希望索引(数据集的计数成为您独立的 x 轴,那么您可以执行以下操作:

library(tidyverse)

data=data.frame(gross_i.2019=seq(1,101),Prediction=seq(21,121))


#create a column for the index numbers
data$index <- c(1:101)

#using tidyr pivot your dataset to a tidy dataset (long not wide)
data <- data %>% pivot_longer(!index, names_to="group",values_to="count")

#asign the groups to colors
p<- ggplot(data=data, aes(x=index, y=count, color=group))
p1<- p + geom_point()
p1

【讨论】:

    【解决方案2】:

    这类问题通常与重塑数据有关。格式应为长格式,数据为宽格式。请参阅this post,了解如何将数据从宽格式重塑为长格式。

    long <- reshape(data, 
                    ids = row.names(data),
                    varying = c("gross_i.2019", "Prediction"),
                    v.names = "line",
                    direction = "long")
    long$time <- names(data)[long$time]
    long$id <- as.numeric(long$id)
    
    library(ggplot2)
    ggplot(long, aes(id, line, color = time)) +
      geom_point() +
      scale_color_manual(values = c("#000000", "#00AFBB"))
    

    【讨论】:

      猜你喜欢
      • 2019-07-19
      • 1970-01-01
      • 2023-03-09
      • 2010-12-21
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      相关资源
      最近更新 更多