我有下面的脚本为5个粒子做布朗运动,这将不会输出 colored颜色 组.使用BASE R可以很好地完成这项工作,但我正在try 处理ggploy.

5个单独粒子执行10个布朗步骤的简单脚本(这些步骤的正确性无关紧要),并在Tibble col3中附加了一个群因子:

#library(tidyverse) (if needed)


######### Construct string num_points starting from zero and moving -1,0,+1 on each step

num_points <- 10
series <- function (num_points) { cumsum(c(0,replicate(num_points-1,(sample(c(-1,0,+1),1)))) ) }

######### Construct dataset of num_sets groups of random walks. Group ID is in col 'z'

num_particles <- 5
data_set <- function (num_points) {
            q <- NULL
            for (i in 1:num_particles) {q_tem <- tibble(x = series(num_points),y = series(num_points),group=as.factor(i))
                                  q <- bind_rows(q,q_tem)
                                  }
            return(q)
}

z <- data_set(num_points)

group.colors <- c("#333BFF","#CC6600","#9633FF","#E2FF33","#E3DB71")

ggplot(z, aes(x=x,y=y, group = group, fill = group)) +  # Properly adding colors

  geom_point() + 
  scale_color_manual(values = group.colors)

这将打印出所有50个点,全部为黑色,而不是指定的 colored颜色 .我想定义我的调色板.

我试过很多例子,上面的代码基本上都是从帮助站点复制过来的.但预期的 colored颜色 并没有出现.最后,我想做更多的颗粒和更大的样本,用叠印打印,我已经想好了怎么做.

推荐答案

这里的问题可能是,您在aes()函数中使用的是fill,但您使用的是geom_point(),而geom_point()没有fill的美感.在aes()函数中,您应该使用color而不是fill.

试着这样做:

ggplot(z, aes(x=x, y=y, group=group, color=group)) + 
  geom_point() + 
  scale_color_manual(values = group.colors)

在这里,aes(color=group)告诉ggplot根据group变量对点进行着色.然后,scale_color_manual(values = group.colors)将组的级别映射到在GROUP.COLLES中指定的 colored颜色 .

如果我能帮上忙,尽管告诉我.

R相关问答推荐

通过绘图 Select 线串几何体并为其着色

MCMC和零事件二元逻辑回归

在R中创建一个包含转换和转换之间的时间的列

如何在R中合并两个基准点?

哪一行和行和 Select 特定行,但是考虑到Nas

如何指定我的函数应该查找哪个引用表?

如何计算R glm probit中的线性预测因子?

正则表达式在第二个管道和第二个T之后拆分R中的列

将列表中的字符串粘贴到R中for循环内的dplyr筛选器中

将统计检验添加到GGPUBR中的盒图,在R

是否有可能从边界中找到一个点值?

我需要使用ggplot2制作堆叠条形图

数据集上的R循环和存储模型系数

ArrangeGrob()和类似的替代方法不接受Grob列表.在Grid.Draw,返回:glist中的错误(...):仅允许在glist";中使用Grobs;

如果极点中存在部分匹配,则替换整个字符串

重写时间间隔模糊连接以减少内存消耗

如何在R中添加标识连续日期的新列

如何计算多个变量的百分比与总和的百分比?

Package emMeans:如果emmip模型中包含的变量较少,emMeans模型中的其他变量设置为什么?

用LOOCV进行K近邻问题