我已经构建了一个利用ggplot2为给定样式的汇总表创建条形图的功能,但是我想做一些改变,我还没有想到出。这是函数的样子:
bar_chart_dist <- function(df, x_var, y_var, title) {
title_in_fun <- title
p <- ggplot(df, aes_string(x = df[,x_var], y = df[,y_var])) +
geom_bar(stat = "identity", fill="#005a8c") +
geom_text(aes_string(label= y_var, vjust = -0.2)) +
xlab("") + ylab(y_var) + my_theme() +
ggtitle(title_in_fun) + scale_y_continuous(limits=c(0,100))
return(p)
}
my_theme
函数将字体系列编辑为Open Sans,并将颜色更改为灰色等。
我在这个函数中使用的数据框长度分别为三个变量 - 主题(此名称随每个给定的数据帧而变化),n(观察数量)和percent_of_population(预先计算的给定组总人口百分比) )。我使用主题作为我的x_var
和percent_of_population作为我的y_var
。
这里有一些我无法工作的事情:
1)我希望y轴标有百分号(%),并且跨越0%到100%。我尝试编辑scale_y_continuous argument
为:
scale_y_continuous(labels=percent, limits=c(0,100))
但这会改变比例,使我的上边界为10,000%。
2)我想更改geom_text参数中的字体颜色,大小和族,以及向标签添加%符号。我想要使用的家庭是Open Sans,但它似乎并没有意识到这一点。当我设置size = 4
时,会创建一个图例,这在我看过的示例中似乎没有发生。
非常感谢您提供的任何帮助。我不确定什么不起作用,因为它包含在一个函数中,并且由于它是错误的方法而无法正常工作。 Here's what the plot looks like in current state: