我正在尝试在下面的ggplot y轴标签上添加“£”符号。但是,当我运行代码时,£符号为空白,即“平均费用()”,而不是“平均费用(£)”。没有警告。
我想这是因为我正在调用一种特定的字体(GoodDog Plain,通过extrafont软件包),因为当我删除所有主题时,会出现£符号。但是,由于我需要使用此字体,有人知道这种方法吗?
ggplot(FTAt, aes(x=Year, y=FTA_cost, col=Country, group=Country)) +
geom_line(size=1)+
ylab("Mean cost (£)") +
xlab("Year")+
scale_color_manual(values=c("red2", "royalblue4","forestgreen"))+
theme(axis.text.x = element_text(family="GoodDog Plain"),
axis.text.y = element_text(family="GoodDog Plain"),
axis.title.x = element_text(family="GoodDog Plain"),
axis.title.y = element_text(family="GoodDog Plain"),
legend.title = element_text(family="GoodDog Plain"),
legend.text = element_text(family="GoodDog Plain"))
谢谢!
答案 0 :(得分:1)
这对我有用
ggplot(mtcars, aes(cyl,mpg)) +
geom_point()+
ylab("Mean cost (£)") +
xlab("Year")
R version 3.4.1 (2017-06-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 Service Pack 1
和
ggplot2_3.0.0
答案 1 :(得分:1)
scale_y_continuous(labels = function(x) paste0(x, "£"))
答案 2 :(得分:0)
您使用的字体不包含£,如果您不能使用其他字体,则最好使用:
+ylab("Mean cost (GBP)")
或因为字体的大括号在一定程度上看起来像是磅符号:
+ylab("Mean cost ({)")
如果您仍然不满意,可以尝试将破折号“-”添加到“ F”下作为不可转移的解决方案:
+ylab("Mean cost (F)")
...
text('-',x,y,cex=size,family="GoodDog Plain",xpd=NA,srt=90)
您将需要手动更改x,y和大小的值,直到它在正确的位置并且看起来不错为止。