我有一个非常好的小情节,我用ggplot制作,看起来很棒。我有一些酒吧,然后是一些横杆。我正在使用theme_economist()
包中的ggthemes
,我希望这些主题中的条形颜色和横杆都是对比色。但我无法弄清楚如何进入主题并为这些元素攫取几种颜色。我可以将它们更改为命名颜色,我可以将它们更改为特定的十六进制颜色,但似乎我应该能够进入主题并说出,"从这个主题中给出两种截然不同的颜色!&#34 ;我该怎么做?
这里有一个代表我所拥有的......
library(tidyverse)
library(ggthemes)
prices <- data.frame(year=2001:2010,
price=rnorm(10))
additional_junk <- data.frame(year=2001:2010,
thing=rnorm(10))
g_price <- ggplot() + theme_economist() +
scale_fill_economist() +
scale_colour_economist() +
geom_bar(aes(y = price , x = year),
data = prices, stat="identity") +
geom_crossbar(data=additional_junk, aes(x=year, y=thing,
ymin=0, ymax=0)
)
g_price
答案 0 :(得分:7)
ggthemes
包含一个列表对象ggthemes_data
,其中包含各种调色板和包使用的其他数据(参见下文)。您可以从这些颜色中进行选择。
library(ggthemes)
ggthemes_data$economist
$bg ebg edkbg red ltgray dkgray "#d5e4eb" "#c3d6df" "#ed111a" "#ebebeb" "#c9c9c9" $fg blue_gray blue_dark green_light blue_mid blue_light green_dark gray blue_light red_dark red_light "#6794a7" "#014d64" "#76c0c1" "#01a2d9" "#7ad2f6" "#00887d" "#adadad" "#7bd3f6" "#7c260b" "#ee8f71" green_light brown "#76c0c1" "#a18376" $stata $stata$bg ebg edkbg "#C6D3DF" "#B2BFCB" $stata$fg edkblue emidblue eltblue emerald erose ebblue eltgreen stone navy maroon brown lavender "#3E647D" "#7B92A8" "#82C0E9" "#2D6D66" "#BFA19C" "#008BBC" "#97B6B0" "#D7D29E" "#1A476F" "#90353B" "#9C8847" "#938DD2" teal cranberry khaki "#6E8E84" "#C10534" "#CAC27E"
此外,正如评论者所述,您可以使用economist_pal()
生成调色板,例如economist_pal()(2)
或economist_pal(stata=TRUE)(3)
。
library(scales)
show_col(economist_pal()(9))
show_col(economist_pal(stata=TRUE)(9))