Это немного странно.Я получаю принудительное научное обозначение только на некоторых из моих значений оси Y.Это происходит только тогда, когда я использую функцию paste0
для добавления $ в начало значений.
Примечание: я использую пакет ggthemes
для форматирования своего графика, чтобы он был в стиле Tufte.Код не будет работать без загруженного пакета.Я изменил свое имя фрейма данных и одно имя переменной по соображениям конфиденциальности, когда вставил сюда код.Каждое значение точно такое же, как в моем реальном фрейме данных.
CalYear <- c("2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018")
Costs <- c(190603, 181218, 174725, 196229, 150204, 120100, 118044, 141857, 136107, 172380, 147384, 237452, 296331)
foo <- data.frame(CalYear, Costs)
ggplot(data=foo, aes(x=CalYear, y=Costs)) +
geom_bar(fill="gray", stat = "identity") +
theme(axis.title=element_blank()) +
theme_tufte(base_size=14, ticks=F) +
scale_y_continuous(labels = function(x){paste0("$", x)},
limits = c(0,300000), breaks = seq(0,300000,50000)) +
geom_hline(yintercept=seq(0, 300000,50000), col="white", lwd=1) +
labs(x="Calendar year", y="Costs of active claims")
Но когда я не делаю форматирование доллара, числавсе в порядке.Код:
ggplot(data=foo, aes(x=CalYear, y=Costs)) +
geom_bar(fill="gray", stat = "identity") +
theme(axis.title=element_blank()) +
theme_tufte(base_size=14, ticks=F) +
scale_y_continuous(limits = c(0,300000), breaks = seq(0,300000,50000)) +
geom_hline(yintercept=seq(0, 300000,50000), col="white", lwd=1) +
labs(x="Calendar year", y="Costs of active claims")
И полученный график:
Я изменил размер шрифта, чтобы попытаться получить егоРабота.Это не имеет значения, и, если бы размер шрифта был проблемой, я бы получил научную запись для каждого числа?
Как видите, это касается только целых 100000 или каждого второго значения.Другие вопросы, которые я видел, это то, где весь набор значений по оси Y находится в научной записи, а не некоторые из них.И их значения по оси Y отображаются нормально, тогда как моя проблема возникает, когда была применена функция paste0
.
Я также создал график без опции theme_tufte
и "научной нотации".только на все 100000 с значений по оси Y "все еще происходит.
Почему некоторые из моих значений по оси Y в научной нотации , но только когда Я использую paste0
и как я могу удалить это?Из других ответов я видел, что предыдущее решение использования меток = доллар больше не работает, так как оно было включено в пакет scale .Я хотел бы выполнить работу с двумя пакетами вместо трех.
Что происходит не так, когда я использую paste0
и как я могу это исправить?