我正在尝试使用geom_bar,我想使用颜色来表示两个不同的变量(这些因素) 我想使用Color = Breakfast or Lunch and fill = Restaurant。 然而,我最终得到了相似的颜色,因为它们只是每个因素的两个层次。
任何人都可以帮我设置内部和外部部分的其他颜色,并使轮廓更粗?
ggplot(aes(x=Item, y= `Sugars (g)`, fill = Restaurant, color =Breakfast_lunch)) + geom_col()
谢谢!
答案 0 :(得分:0)
因此,您希望将条形的填充颜色(fill
美学)与一个变量Restaurant
和大纲/笔触颜色(colour
或{{ 1}}审美)与另一个color
绑定?在这种情况下,您只想更改每种美学使用的实际颜色(因为它们具有相同的默认值)。
正如@Jack Brookes建议的那样,您可以使用scale_fill_manual
and scale_colour_manual
来更改这些内容。您可以为Breakfast_lunch
参数提供命名向量:名称是变量的可能值,值是您希望它们显示为的颜色。例如:
values
(那些颜色很可怕,所以也许选择更好的颜色:P)
您提供给ggplot(mydata, aes(x = Item, y = `Sugars (g)`, fill = Restaurant, color = Breakfast_lunch)) +
geom_col() +
scale_fill_manual(values = c("Burger King" = "red", "McDonalds" = "blue")) +
scale_colour_manual(values = c("Breakfast" = "green", "Lunch" = "black"))
的颜色实际上不必命名:如果您不提供名称(数据中的值),ggplot2将按照遇到的顺序应用颜色在您的数据集中。所以如果你只是关心不同的颜色,你就不需要强调那一点。
另请注意,正如@neilfws所做的那样,您的原始values
调用在开始时缺少ggplot
参数(对您的数据框)。这非常重要!