gpt4 book ai didi

r - 使用 r 和 ggplot 如何指定特定的十六进制颜色/颜色值以用于表示不同的字符值

转载 作者:行者123 更新时间:2023-12-04 00:23:01 25 4
gpt4 key购买 nike

假设 is.character(MyColours) = TRUE 其中 MyColours 包含许多十六进制颜色值。

当我想使用 ggplot 绘图时,我如何确保 MyColours[1] 将始终用于代表“Ford”,而 MyColour[3] 将代表“Toyota”,而我无法保证顺序“福特”或“丰田”将出现在我用来绘制的观察结果中。

虽然下面的 geo_bar 示例很有帮助并且确实提醒我将列名称添加到 MyColours 我希望绘制线条而不是条形图

    ggplot(MyData, aes(x = TimePeriod, y = CountOfItems, 
group = Account, color = scale_fill_manual(values = MyColours)))
+ geom_line(size = 1)
+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))

我得到错误 Aesthetics must either be length one, or the length as the dataProblems:scale_fill_manual(values = MyColours) 即使 length(MyColours) 是相等的到 length(unique(MyData$Account))

示例数据

dput(MyData)
structure(list(Account = structure(c(1L, 2L, 1L, 2L), .Label = c("Mazda RX4",
"Toyota Corolla"), class = "factor"), CountOfItems = c(14, 120,
23, 345), TimePeriod = structure(c(1L, 2L, 2L, 3L), .Label = c("2010-12",
"2011-01", "2011-02"), class = "factor")), .Names = c("Account",
"CountOfItems", "TimePeriod"), row.names = c(NA, -4L), class = "data.frame")

是否可以将 scale_fill_manual 与线图一起使用?

最佳答案

您可以命名 MyColours,例如像这样:

MyColour <- c("#FF0000", "#00FF00", "#0000FF") 
names(MyColour) <- c("Mazda RX4", "Toyota Corolla", "Fiat 128")

df <- mtcars[c("Mazda RX4", "Toyota Corolla", "Fiat 128"), ]
df$car <- rownames(df)
library(ggplot2)
ggplot(df, aes(x = car, y = mpg, fill = car)) +
geom_bar(stat = "identity") +
scale_fill_manual(values = MyColour)

关于r - 使用 r 和 ggplot 如何指定特定的十六进制颜色/颜色值以用于表示不同的字符值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31316972/

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