горизонтальная полоса с градиентом цвета сверху вниз на графике - PullRequest
0 голосов
/ 26 августа 2018

Я хотел бы заполнить полосы градиентом цвета от верха до низа рисунка.То есть, независимо от длины полосы, цвет должен становиться более светлым, хотя направление сверху вниз.Я создал 2 МОДЕЛИРОВАНИЯ в фотошопе.Первый (рис. 1) построен по следующему сценарию (длинные столбцы - темные, а короткие - светлые).Однако второй (рис. 2) - это то, что я хотел бы уточнить (верхние столбцы темнее и светлее в нижнем направлении).

Fig, 1

Fig. 2

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) 

1 Ответ

0 голосов
/ 26 августа 2018

Ваш код почти у цели, вы просто неправильно указали цветовую переменную.
(Кроме того, не * данные 1002 *, пожалуйста.)

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) 

enter image description here

Данные в формате 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))
...