Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何为因子变量生成颜色一致的ggplot_R_Ggplot2 - Fatal编程技术网

R 如何为因子变量生成颜色一致的ggplot

R 如何为因子变量生成颜色一致的ggplot,r,ggplot2,R,Ggplot2,我有一个具有以下结构的数据源:时间戳、值、类别。我使用ggplot将其可视化: df %>% ggplot(aes(x=timestamp, y=value, col=category)) + geom_line() 虽然有效,但存在一个问题,即类别值和颜色之间的映射有时不一致 我已经看过了中提供的解决方案 但这似乎对我没有帮助,因为我并没有一份所有因素水平的完整列表。它有成百上千个可能的值,我必须将它们中的大多数打包到“其他”级别,以使图表清晰易读 这似乎是一个无关紧要的问题。但是,

我有一个具有以下结构的数据源:时间戳、值、类别。我使用ggplot将其可视化:

df %>% ggplot(aes(x=timestamp, y=value, col=category)) + geom_line()
虽然有效,但存在一个问题,即类别值和颜色之间的映射有时不一致

我已经看过了中提供的解决方案

但这似乎对我没有帮助,因为我并没有一份所有因素水平的完整列表。它有成百上千个可能的值,我必须将它们中的大多数打包到“其他”级别,以使图表清晰易读

这似乎是一个无关紧要的问题。但是,某些因子级别非常常见,并出现在每个数据快照中。因此,每当它们以不同的颜色出现时,就会令人困惑

如有任何建议,将不胜感激

致以最良好的祝愿,
Nikolai

但在所有绘图完成后,您可以保存因子水平,保存它们,然后重新运行分析?这是您希望能够一次又一次地返回以获得相同颜色的东西,还是更像是一次性的东西?如果这是一件长期的事情,那么您如何设想“保存”您以前“看到”的级别?@chemdork123这不是一次性的事情,它是性能监控应用程序的一部分。我看到的“保存”级别的问题是需要手动干预。我想要的只是基于因子标签生成颜色。我能想到的最好办法是为每个因子标签计算一个哈希函数,取它的一个子串,并将其用作颜色十六进制。这似乎是可行的,但远不是优雅的。@r.user.05apr它是一个闪亮的应用程序的一部分,该应用程序分析传入的数据流,其中因子变量有数百个可能的值(我前面没有完整的列表)。所以它必须是自动的。@fullera你能详细说明一下吗?什么是颜色列表,什么是订单列表?但在所有绘图完成后,您可以保存因子级别,保存它们,然后重新运行分析?这是您希望能够一次又一次返回以获得相同颜色的东西,还是更多的是一次性的东西?如果这是一件长期的事情,那么您如何设想“保存”您以前“看到”的级别?@chemdork123这不是一次性的事情,它是性能监控应用程序的一部分。我看到的“保存”级别的问题是需要手动干预。我想要的只是基于因子标签生成颜色。我能想到的最好办法是为每个因子标签计算一个哈希函数,取它的一个子串,并将其用作颜色十六进制。这似乎是可行的,但远不是优雅的。@r.user.05apr它是一个闪亮的应用程序的一部分,该应用程序分析传入的数据流,其中因子变量有数百个可能的值(我前面没有完整的列表)。所以它必须是自动的。@fullera你能详细说明一下吗?什么是颜色列表,什么是订单列表?