[英]Problem with the legend with scale_color_discrete() function in R
[英]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_a
、 column_b
、 column_c
在column_a
中可能的值为:1、2、3(类型:整数)
在column_b
中可能的值为: aaa
、 bbb
、 cccc
(类型:字符)
在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”
要具有离散比例,列需要是factor
或character
class。 数字(包括整数)将具有离散比例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.