Как форматировать числовые значения для легенды ggplot2?
Я работаю над окончанием графика, сгенерированного с помощью ggplot2, например...
ggplot(timeSeries, aes(x=Date, y=Unique.Visitors, colour=Revenue))
+ geom_point() + stat_smooth() + scale_y_continuous(formatter=comma)
Я приложил результат, и вы можете видеть, что числовые значения в легенде для Дохода не имеют запятой. Как добавить запятую к этим значениям? Я мог использовать scale_y_continuous для оси, может ли это использоваться и для легенды?
![alt text]()
Ответы
Ответ 1
Примечание 2014-07-16: синтаксис в этом ответе был устаревшим в течение некоторого времени. Используйте ответ metasequoia!
Yep - только вопрос получения правильного уровня scale_colour_. Попробуйте:
ggplot(timeSeries, aes(x = Date, y = Unique.Visitors, colour = Revenue)) +
geom_point() +
stat_smooth() +
scale_y_continuous(formatter = comma) +
scale_colour_continuous(formatter = comma)
Я лично также перенес свое цветовое сопоставление на слой geom_point, чтобы он не дал вам эту нечетную строку за точкой в легенде:
ggplot(timeSeries, aes(x = Date, y = Unique.Visitors)) +
geom_point(aes(colour = Revenue)) +
stat_smooth() +
scale_y_continuous(formatter = comma) +
scale_colour_continuous(formatter = comma)
Ответ 2
Просто чтобы сохранить текущий, в ggplot2_0.9.3 рабочий синтаксис:
require(scales)
ggplot(timeSeries, aes(x=Date, y=Unique.Visitors, colour=Revenue)) +
geom_point() +
stat_smooth() +
scale_y_continuous(labels=comma) +
scale_colour_continuous(labels=comma)
Также см. этот обмен