将标签放在负面和正面 geom_bar
Put labels over negative and positive geom_bar
我想使用条形图和 ggplot
可视化数据。
我有以下数据,当我想查看此数据时,负值文本未显示在 Bar 下方。
dat <- read.table(text = "sample Types Value
sample1 A -36
sample2 B 31
sample1 C 15
sample2 D -12
sample1 E 27
sample2 F 16
sample2 G -10
sample2 H 2
sample2 I 6
sample2 J -7
sample2 K -8"
, header=TRUE)
library(ggplot2)
px <- ggplot(data = dat , aes(x = Types , y = Value , Colour = Types ))
px + geom_bar(stat = "identity" ,color = "#FFFFFF" , fill = "dodgerblue3") +
geom_text(aes(label=Value), position=position_dodge(width=0.9), hjust= -.25,vjust=0.25 ,size =3.5 , angle = 90)
通过geom_text
在y轴上的位置用y = Value + 2 * sign(Value)
library(ggplot2)
ggplot(dat, aes(Types, Value)) +
geom_bar(stat = "identity" ,color = "#FFFFFF" , fill = "dodgerblue3") +
geom_text(aes(y = Value + 2 * sign(Value), label = Value),
position = position_dodge(width = 0.9),
size = 3.5 , angle = 90)
另一个我对我的情节进行了轻微视觉调整的情节:
因为你有带条形的数字,所以你不需要 y 轴(它是多余的)。
ggplot(dat, aes(Types, Value)) +
geom_bar(stat = "identity", color = "black" , fill = "grey",
size = 0.7, width = 0.9) +
geom_text(aes(y = Value + 2 * sign(Value), label = Value),
position = position_dodge(width = 0.9),
size = 5) +
theme_classic() +
theme(axis.text.x = element_text(size = 12),
axis.title = element_text(size = 20),
axis.text.y = element_blank(),
axis.line = element_blank(),
axis.ticks = element_blank())
我想使用条形图和 ggplot
可视化数据。
我有以下数据,当我想查看此数据时,负值文本未显示在 Bar 下方。
dat <- read.table(text = "sample Types Value
sample1 A -36
sample2 B 31
sample1 C 15
sample2 D -12
sample1 E 27
sample2 F 16
sample2 G -10
sample2 H 2
sample2 I 6
sample2 J -7
sample2 K -8"
, header=TRUE)
library(ggplot2)
px <- ggplot(data = dat , aes(x = Types , y = Value , Colour = Types ))
px + geom_bar(stat = "identity" ,color = "#FFFFFF" , fill = "dodgerblue3") +
geom_text(aes(label=Value), position=position_dodge(width=0.9), hjust= -.25,vjust=0.25 ,size =3.5 , angle = 90)
通过geom_text
在y轴上的位置用y = Value + 2 * sign(Value)
library(ggplot2)
ggplot(dat, aes(Types, Value)) +
geom_bar(stat = "identity" ,color = "#FFFFFF" , fill = "dodgerblue3") +
geom_text(aes(y = Value + 2 * sign(Value), label = Value),
position = position_dodge(width = 0.9),
size = 3.5 , angle = 90)
另一个我对我的情节进行了轻微视觉调整的情节:
因为你有带条形的数字,所以你不需要 y 轴(它是多余的)。
ggplot(dat, aes(Types, Value)) +
geom_bar(stat = "identity", color = "black" , fill = "grey",
size = 0.7, width = 0.9) +
geom_text(aes(y = Value + 2 * sign(Value), label = Value),
position = position_dodge(width = 0.9),
size = 5) +
theme_classic() +
theme(axis.text.x = element_text(size = 12),
axis.title = element_text(size = 20),
axis.text.y = element_blank(),
axis.line = element_blank(),
axis.ticks = element_blank())