tag*_*oma 7 r bar-chart ggplot2
我有这个简单的代码(数据+条形图):
dat <- c('Jan','Feb','Mar', 'Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')
val <- c(-2.5, 3, 2.5, -3.3, -1, 0.2, 6, 4.3, 5.5, 2, -1.9, -2.3)
df <- data.frame(dat, val)
bar <- ggplot(data = df, aes(x = factor(dat, levels = month.abb), y = val)) +
geom_bar(stat = 'identity')
print(bar)
Run Code Online (Sandbox Code Playgroud)
在其他地方,我使用以下调色板创建了一个热图:
# Palette
LtoM <-colorRampPalette(c('red', 'yellow' ))
Mid <- "snow3"
MtoH <-colorRampPalette(c('lightgreen', 'darkgreen'))
Run Code Online (Sandbox Code Playgroud)
被称为:
scale_fill_gradient2(low = LtoM(100), mid = Mid, high = MtoH(100))
Run Code Online (Sandbox Code Playgroud)
现在我想为我的条形图使用类似的调色板,也就是说我希望每个条形图中的颜色是高度的函数(从最小y到最小y的红色的某些等级到绿色).
我该怎么办?
您基本上使用的是当前代码.只需添加scale_fill_gradient函数即可.
bar <- ggplot(data = df, aes(x = factor(dat, levels = month.abb), y = val,
fill=val)) +
geom_bar(stat = 'identity') +
scale_fill_gradient2(low=LtoM(100), mid='snow3',
high=MtoH(100), space='Lab')
Run Code Online (Sandbox Code Playgroud)

但是,允许scale_fill_gradient2处理渐变效果非常好
bar <- ggplot(data = df, aes(x = factor(dat, levels = month.abb), y = val,
fill=val)) +
geom_bar(stat = 'identity') +
scale_fill_gradient2(low='red', mid='snow3', high='darkgreen', space='Lab')
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
8623 次 |
| 最近记录: |