希望在我的x轴上的标签和条形图中的数字上添加一个美元符号。下面是我的代码和图表。
YTD_bar <-
ggplot(TYSales_LYSales, aes(x=as.character(FSCL_YR), y=SALES)) + geom_bar(stat="identity", fill="orange", color="grey40") + theme_bw() + coord_flip() +
geom_text(aes(x= as.character(FSCL_YR), y=0.01, label= SALES),
hjust=-0.8, vjust=-1, size=3,
colour="black", fontface="bold",
angle=360) + labs(title="D27 2020 YTD Sales v 2019 YTD Sales", x="Fiscal Year",y="Sales") + theme(plot.title=element_text(hjust=0.5))
YTD_bar
答案 0 :(得分:1)
您可以通过自由应用sprintf("$%0.2f", ...)
来做到这一点。 %0.2f
部分告诉您将格式设置为浮点数,但保留两位小数。您需要在两个位置执行此操作:(1)在geom_text()
中,和(2)作为对scale_y_continuous()
的调用的一部分:
YTD_bar <- ggplot(TYSales_LYSales, aes(x=as.character(FSCL_YR), y=SALES)) +
geom_bar(stat="identity", fill="orange", color="grey40") +
theme_bw() +
coord_flip() +
geom_text(aes(x = as.character(FSCL_YR), y=0.01,
label= sprintf("$%0.2f", SALES)),
hjust=-0.8, vjust=-1, size=3,
colour="black", fontface="bold",
angle=360) +
labs(title="D27 2020 YTD Sales v 2019 YTD Sales",
x="Fiscal Year", y="Sales") +
theme(plot.title=element_text(hjust=0.5)) +
scale_y_continuous(labels = function(breaks) sprintf("$%0.2f", breaks))
YTD_bar
TYSales_LYSales <- data.frame(
FSCL_YR = 2019:2020,
SALES = c(61851186, 5511072)
)
答案 1 :(得分:1)
您可以自己指定标签,并使用paste0()函数在前面添加美元符号
df <- data.frame(yr = 2019:2020, sales = c(1234, 5678))
df$text <- paste0("$", df$sales)
ggplot(df, aes(x=as.character(yr), y=sales)) +
geom_col(fill="orange", color="grey40") +
theme_bw() +
coord_flip() +
geom_text(aes(x = as.character(yr), y=0.01, label= text),
hjust=-0.8, vjust=-1, size=3,
colour="black", fontface="bold",
angle=360) +
scale_y_continuous(breaks = 0:3 * 2000,
labels = paste0("$", 0:3 * 2000))
答案 2 :(得分:1)
scales软件包(与ggplot2一起安装)具有方便的dollar
和label_dollar()
函数,用于将十进制值转换为货币。
请参阅帮助以了解可用于调整格式的可能选项。
library(ggplot2)
library(scales)
YTD_bar <-
ggplot(TYSales_LYSales, aes(x=as.character(FSCL_YR), y=SALES)) +
geom_bar(stat="identity", fill="orange", color="grey40") +
theme_bw() + coord_flip() +
geom_text(aes(x= as.character(FSCL_YR), y=0.01, label= dollar(SALES)),
hjust=-0.8, vjust=-1, size=3, colour="black", fontface="bold", angle=360) +
labs(title="D27 2020 YTD Sales v 2019 YTD Sales", x="Fiscal Year",y="Sales") +
theme(plot.title=element_text(hjust=0.5)) +
scale_y_continuous(labels = label_dollar())
YTD_bar