Как мне сделать ggplot
для округления значений до одного десятичного знака (freq
в моем коде) и запятой вместо точки? (например, 52,13 -> 52,1) Помещение запятой вместо точки должно быть довольно простым: decimal.mark = ","
или более идиоматическим способом - label=comma(freq)
(с library(scales)
). Дело в том, что мой график довольно сложный (для меня), и я не могу сделать это сам.Ценности по сюжету - одно знака после запятой, запятая вместо точки
library(ggplot2)
library(scales)
df <- data.frame(years=c(1991, 1993, 1997, 2001, 2005, 2007, 2011, 2015),
freq=c(43.20, 52.13, 47.93, 46.29, 40.57, 53.88, 48.92, 50.92))
p <- (ggplot(df, aes(x=years, y=freq, label=freq)) +
geom_line(size=.7, color="#999999") + geom_point(size=3, color="black") +
geom_text(vjust=c(2, -1, -1.5*sign(diff(diff(df$freq))) + 0.5)) +
theme_bw() +
theme(panel.border=element_blank(), panel.grid.minor=element_blank(),
axis.title.y=element_text(vjust=1.25)) +
scale_x_continuous("", breaks=seq(1990, 2015, 5), minor_breaks=NULL) +
scale_y_continuous("", limits=c(0, 60),
breaks=seq(0, 60, 10), minor_breaks=NULL))
p
Может вы просто не вокруг значений заранее 'ДФ $ FREQ <- круглый (ДФ $ FREQ, цифры = 1) '? – mtoto