从图形的顶部到底部具有颜色渐变的水平条形图 [英] horizontal barplot with color gradient from top to bottom of the graphic

查看:285
本文介绍了从图形的顶部到底部具有颜色渐变的水平条形图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从图形的顶部到底部以渐变的颜色填充条形图.也就是说,无论条形长度如何,从顶部到底部的方向颜色都应该变浅.我在photoshop中创建了2个模拟.第一个(图1)是通过以下脚本绘制的(长条为深色,短条为浅色).但是,第二点(图2)是我想详细说明的(顶部的条是暗的,底部的条是浅的).

I would like to fill the bars in a gradient of color from the top to the bottom of the graphic. That is, regardless of the bar lenght, the color should be getting lighter trhough the top to the bottom direction. I created 2 SIMULATIONS in the photoshop. The first one (Fig. 1) is that ploted through the follow script (long bars are dark and short bars are light). However the seconde one (Fig. 2) is that I would like to elaborate (the top bars are dark and get lighter in the bottom direction).

specie	momento	M1_sava
zr	M1	1
yr	M1	0.86
xr	M1	1
wr	M1	1
vr	M1	1
ur	M1	0.74
tr	M1	0.39
sr	M1	0.83
rr	M1	0.83
qr	M1	0
pr	M1	0.7
or	M1	0.11
nr	M1	1
mr	M1	0
lr	M1	0
kr	M1	0
jr	M1	0
Ir	M1	0.83
hr	M1	0
Gr	M1	0
fr	M1	0
er	M1	0
dr	M1	0
cr	M1	0.04
br	M1	0
ar	M1	0
zr	M2	0.33
yr	M2	0.86
xr	M2	0.39
wr	M2	0.02
vr	M2	0.07
ur	M2	0.02
tr	M2	0.87
sr	M2	0.06
rr	M2	0.63
qr	M2	0.33
pr	M2	0.91
or	M2	0.67
nr	M2	0.18
mr	M2	0.08
lr	M2	0
kr	M2	0
jr	M2	0
Ir	M2	0
hr	M2	0.08
Gr	M2	0
fr	M2	0.04
er	M2	0
dr	M2	0
cr	M2	0
br	M2	0
ar	M2	0
zr	M3	0.04
yr	M3	0.32
xr	M3	0.02
wr	M3	0
vr	M3	0
ur	M3	0
tr	M3	0.96
sr	M3	0.06
rr	M3	0.18
qr	M3	0.33
pr	M3	0.63
or	M3	1
nr	M3	0
mr	M3	0.94
lr	M3	0.17
kr	M3	0
jr	M3	0.41
Ir	M3	0.04
hr	M3	0.44
Gr	M3	0.17
fr	M3	0.02
er	M3	0
dr	M3	0
cr	M3	0
br	M3	0
ar	M3	0
zr	M4	0
yr	M4	0
xr	M4	0
wr	M4	0
vr	M4	0
ur	M4	0
tr	M4	0.89
sr	M4	0
rr	M4	0.03
qr	M4	0.22
pr	M4	0.41
or	M4	0.46
nr	M4	0
mr	M4	0.81
lr	M4	0.39
kr	M4	0.7
jr	M4	0.7
Ir	M4	0
hr	M4	0.87
Gr	M4	0.91
fr	M4	0.33
er	M4	0.37
dr	M4	0.24
cr	M4	0.15
br	M4	0
ar	M4	0

Dataset <- read.csv(file = "data.csv", header = TRUE, sep = ";")
attach(Dataset)
library(ggplot2)
ggplot(Dataset, aes(specie, M1_sava)) + 
  facet_wrap(~ momento, nrow = 1) + 
  coord_flip() + 
  geom_col(aes(fill = M1_sava)) + 
  scale_fill_gradient2(low = "white", high = "red") + 
  theme_bw(base_size = 10) 

推荐答案

您的代码几乎在那里,您只是将颜色变量弄错了.
(另外,请不要attach数据.)

Your code is almost there, you just got the color variable wrong.
(Also, don't attach data, please.)

library(ggplot2)

ggplot(Dataset, aes(specie, M1_sava)) + 
  facet_wrap(~ momento, nrow = 1) + 
  coord_flip() + 
  geom_col(aes(fill = as.numeric(specie))) + 
  scale_fill_gradient2(low = "white", high = "red") + 
  theme_bw(base_size = 10) 

数据,格式为dput.

Dataset <-
structure(list(specie = structure(c(26L, 25L, 24L, 23L, 22L, 
21L, 20L, 19L, 18L, 17L, 16L, 15L, 14L, 13L, 12L, 11L, 10L, 9L, 
8L, 7L, 6L, 5L, 4L, 3L, 2L, 1L, 26L, 25L, 24L, 23L, 22L, 21L, 
20L, 19L, 18L, 17L, 16L, 15L, 14L, 13L, 12L, 11L, 10L, 9L, 8L, 
7L, 6L, 5L, 4L, 3L, 2L, 1L, 26L, 25L, 24L, 23L, 22L, 21L, 20L, 
19L, 18L, 17L, 16L, 15L, 14L, 13L, 12L, 11L, 10L, 9L, 8L, 7L, 
6L, 5L, 4L, 3L, 2L, 1L, 26L, 25L, 24L, 23L, 22L, 21L, 20L, 19L, 
18L, 17L, 16L, 15L, 14L, 13L, 12L, 11L, 10L, 9L, 8L, 7L, 6L, 
5L, 4L, 3L, 2L, 1L), .Label = c("ar", "br", "cr", "dr", "er", 
"fr", "Gr", "hr", "Ir", "jr", "kr", "lr", "mr", "nr", "or", "pr", 
"qr", "rr", "sr", "tr", "ur", "vr", "wr", "xr", "yr", "zr"), class = "factor"), 
    momento = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 4L, 4L, 4L), .Label = c("M1", "M2", "M3", "M4"), class = "factor"), 
    M1_sava = c(1, 0.86, 1, 1, 1, 0.74, 0.39, 0.83, 0.83, 0, 
    0.7, 0.11, 1, 0, 0, 0, 0, 0.83, 0, 0, 0, 0, 0, 0.04, 0, 0, 
    0.33, 0.86, 0.39, 0.02, 0.07, 0.02, 0.87, 0.06, 0.63, 0.33, 
    0.91, 0.67, 0.18, 0.08, 0, 0, 0, 0, 0.08, 0, 0.04, 0, 0, 
    0, 0, 0, 0.04, 0.32, 0.02, 0, 0, 0, 0.96, 0.06, 0.18, 0.33, 
    0.63, 1, 0, 0.94, 0.17, 0, 0.41, 0.04, 0.44, 0.17, 0.02, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.89, 0, 0.03, 0.22, 0.41, 
    0.46, 0, 0.81, 0.39, 0.7, 0.7, 0, 0.87, 0.91, 0.33, 0.37, 
    0.24, 0.15, 0, 0)), class = "data.frame", row.names = c(NA, 
-104L))

这篇关于从图形的顶部到底部具有颜色渐变的水平条形图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆