Метки оси с запятой, но без десятичных знаков ggplot

Я хочу, чтобы метки оси Y имели запятую, но не имели десятичных точек. Когда я использую опцию "label = comma" в ggplot, я получаю запятую, она также добавляет 2 десятичных знака. Когда я удаляю опцию, я избавляюсь от десятичных знаков, но также теряю запятую.

ggplot(birth_decade_data, aes(x = age, y = disp_inc, group = birth_decade, col = birth_decade))+
  geom_point(size=2)+
  geom_line(size=1.05)+
  scale_y_continuous(expand=c(0,0), limits = c(0,80000), breaks=c(20000,40000,60000,80000), labels=comma)+
  scale_x_continuous(expand = c(0.01, 0.01), breaks = c(seq(15,65,5)), limits = c(24,65))

Заранее спасибо за вашу помощь, я целую вечность искал решение этой проблемы.

Извините, данные выглядят так:

> birth_decade_data

year birth_decade disp_inc   age
1989 1940s           35161 44.1 
1989 1940s           35161 44.1 
1989 1950s           31285 34.5 
1989 1960s           37403 25.0 
1989 1970s           33117 17.7 
1989 1980s           26700  7.00
1999 1940s           39448 54.2 
1999 1950s           38645 44.3 
1999 1960s           38617 34.6 
1999 1970s           41514 24.4 
1999 1980s           33972 16.7 

... больше строк

диаграмма с запятыми и десятичными числами

2 ответа

Если вы используете labels=comma_format() вместо label=comma это должно работать.

Они оба из пакета весов

Используйте пакет R scale и добавьте в свою функцию scale_y_continuous следующее: labels=comma_format(accuracy=1) вместо labels=comma или же labels=comma_format(digits=0). Сначала я попробовал использовать digits= 0, но получил предупреждение, что теперь он устарел и вместо этого нужно использовать точность. Мне удалось удалить десятичное пространство с точностью =1 на моем собственном графике. В примечаниях говорится, что ggplot2 округляется до этого числа, поэтому при использовании precision =1 эффективно округляется до целых значений.

Другие вопросы по тегам