gpt4 book ai didi

R - ggplot 中连续数据的离散颜色

转载 作者:行者123 更新时间:2023-11-30 23:54:32 28 4
gpt4 key购买 nike

我正在尝试绘制一些时间连续的数据。我应用了一个简单的算法,为数据的每一行分配一个离散数 ( state )。它看起来像这样。

time   flow    pre    state
0.0 0.0 3 1
0.2 0.01 4 1
0.4 0.10 10 2
0.6 -0.11 -2 0 # Set as NA in the example below

现在,我想绘制实例流(使用 ggplot )并有 state确定颜色。问题是,如果我这样做
ggplot(data) +
geom_line(aes(x = time, y = flow, color = state))

该图的颜色对比度太小,无法轻松区分 state .但如果我这样做
ggplot(data) +
geom_line(aes(x = time, y = flow, color = factor(state))) +
scale_color_manual(values = c("red", "green", "blue"))

它拆分线条,它们显示为三个不同的线条。我想要的是使用连续比例,但添加一种或几种中间色进行对比。当前的解决方案是这样的
ggplot(data = alg1) +
geom_line(aes(x = time, y = flow, colour = state)) +
scale_color_gradient(low = "#0000FF", high = "#FF0000",
na.value = "#00FF00", guide = "legend")

但这 1) 只适用于三个状态,其中之一必须是 NA , 2) 从图例中排除一​​种状态 ( NA ) 和 3) 在图例中显示未使用的值。

当前代码生成的图像:
Current output

最佳答案

在评论中回答:

通过 aes(x = time, y = flow, color = factor(state), group = 1) 分组防止在将状态转换为因子时绘制单独的线。

关于R - ggplot 中连续数据的离散颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31881236/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com