繁体   English   中英

R scale_color_discrete() 问题

[英]R problems with scale_color_discrete()

我正在编写一个应该能够读取大型数据集和 plot 结果的脚本。

脚本:

paths <- list.files(path = path, pattern="\\.csv$", full.names = TRUE)

dataset <- data.frame()

for (x in paths) {  
   t <- fread(file)  
   dataset <- rbind(dataset, t)  
}  

mapping <- aes(
  x = column_c 
  , color = column_a
  , linetype = column_b
)

plot <- (ggplot(data=dataset, mapping=mapping)
         + stat_ecdf()
         + scale_color_discrete(name = "COL_A", breaks = c(1, 2, 3))
         + scale_linetype_discrete(name = "COL_B", breaks = c("aaa", "bbb", "ccc"))        
)

数据集有三列: column_acolumn_bcolumn_ccolumn_a中可能的值为:1、2、3(类型:整数)
column_b中可能的值为: aaabbbcccc (类型:字符)
column_c范围内的不同值(0,1000)(类型:整数)

问题:为了组织 plot,我在aes中使用基于column_a的颜色参数,以及基于column_b的 line 参数。 绘制的图形似乎接受 line type 命令,但它忽略了color = column_a 它没有显示任何错误消息,只是似乎没有显示任何不同的颜色线。 它们都是相同的颜色。
这使我得出结论,它要么不识别中断。
为了检查这一点,我执行了以下命令:

唯一的(数据集$column_a)

我得到了回报

[1] 2 3 1
所以,我会说数据集确实包含我设置的预期的中断

 + scale_color_discrete(name = "COL_A", breaks = c(1, 2, 3))

有人注意到我做错了吗?

更新:类(数据集)[1]“tbl_df”“tbl”“data.frame”

要具有离散比例,列需要是factorcharacter class。 数字(包括整数)将具有离散比例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM