ggplot2: использование функции geom_area () - PullRequest
1 голос
/ 11 ноября 2009

У меня есть фрейм данных, показывающий четыре класса для каждого года вместе с их соответствующими долями общего числа за этот год.

> head(df)
      class year share
1    class1 1975 0.806
2    class2 1975 0.131
3    class3 1975 0.018
4    class4 1975 0.045
5    class1 1976 0.788
6    class2 1976 0.151

Когда я запускаю ggplot без указания fill, я получаю однородную серую коробку, как и ожидалось.

> ggplot(df, aes(x=year, y=share, group=class)) + geom_area() + scale_fill_brewer()

Поэтому я пытаюсь добавить fill=class, и это не работает.

> ggplot(df, aes(x=year, y=share, group=class, fill=class)) + geom_area() + scale_fill_brewer()

Error in inherits(x, "factor") : object "base_size" not found
In addition: Warning message:
In inherits(x, "factor") : restarting interrupted promise evaluation
> 

Что я могу сделать с коэффициентом class, чтобы он правильно работал с scale_fill_brewer()? Идея, очевидно, состоит в том, чтобы заштриховать каждую область графа в соответствии с его классом.

Спасибо.

Ответы [ 2 ]

1 голос
/ 22 июня 2010

У меня просто была эта проблема. Это швы, что

theme_set(theme_bw(base_size=9))

приводит к сообщенной ошибке. Но

base_size <- 9
theme_set(theme_bw(base_size=base_size))

работает.

Я гуглил и нашел пример в блоге для учащихся

Я не знаю, что не работает первый пример?

0 голосов
/ 11 ноября 2009

Проблема была в некоторых параметрах темы, которые я установил, поэтому она исчезла, как только я начал создавать работоспособный пример для воспроизведения здесь. Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...