Я делаю диаграмму, на которой по оси X будет «%».

ggplot(
  data = cars,
  aes(
    x = speed,
    y = dist
  )
) + 
  geom_point() +
  scale_x_continuous(
    labels = function(x) paste0(x,'%'),
  )

Это создает диаграмму. введите описание изображения здесь

Я хочу, чтобы только первая или последняя отметка на оси X имела «%». Как мне это сделать?

0
Username 17 Сен 2018 в 17:41

2 ответа

Лучший ответ

Просто измените свою функцию на

labels = function(x) c(paste0(x[1] * 100, '%'), x[-1])

(обратите внимание, что вам, возможно, придется скорректировать свои перерывы и / или ограничения, потому что в опубликованном вами обновленном примере первый элемент x не отображается, поэтому в этом случае вам нужно будет сделать c(paste0(x[1:2] * 100, '%'), x[-(1:2)]))

3
konvas 17 Сен 2018 в 15:49

Отформатируйте функцию в метках, чтобы получить "%" только для первой метки галочки

labels = function(x) c(paste0(x[1],'%'),x[-(1)]

Чтобы получить "%" только для последней метки тика

labels = function(x) c(x[1:length(x)-1] , paste0(rev(x)[1],'%'))
1
Sri Lakshmi 17 Сен 2018 в 17:51