如何更改图表标签上的小数点并更改标签位置?

时间:2017-09-19 19:43:14

标签: r ggplot2 charts label

我使用ggplot2创建了一个图表,向我展示了一些历史数据:

library(ggplot2)
chart_2 <- ggplot(graf2, aes(x=data, y=relativo, label = as.integer(relativo))) + 
scale_fill_discrete(guide = F) +
geom_line(aes(y=relativo, color="red"), size = 0.7) +
labs(title = "Relativo Preço Gasolina: Consumidor/Distribuidora", x = "Data", y="Relativo de Preços") +
theme_bw() +
theme(legend.position = "none", plot.title = element_text(hjust=0.5, size = 12, face = "bold"), 
axis.text.x=element_text(angle=90,vjust=0.5, size = 10, color = "black"), 
axis.title=element_text(size = 12)) +
scale_x_date(date_labels = "%b %Y", date_breaks = "1.5 years") +
geom_dl(aes(label=last(relativo)), vjust = -2, method="last.points")

enter image description here

我有两个问题:

  1. 我想在图表的最后一点更改标签的位置,但我不知道如何。

  2. 标签有很多小数点,我想改为2。

1 个答案:

答案 0 :(得分:0)

  1. 使用position更改标签调整参数position_nudge的位置:

    # Using -2 only as example to move label along x-axis
    geom_dl(aes(label = last(relativo)), 
            method = "last.points",
            position = position_nudge(-2))
    
  2. 要更改为两个小数点,请使用round function from base R

     round(last(relativo), 2)
    
  3. 组合代码应为:

    geom_dl(aes(label = round(last(relativo), 2), 
            method = "last.points",
            position = position_nudge(-2))
    

    PS。:我不知道你的函数last做了什么(无法​​测试我的代码)。