2016-11-23 2 views
0

Я получаю сообщение об ошибке Я не могу понять. Это может быть что-то немым, как опечатка или недостающие парсеры, но я не вижу этого.Предупреждение ggplot: Игнорирование неизвестной эстетики: ymin, ymax

Моя команда Сюжет:

ggplot(df, aes(flim, flam, group=1)) + 
    geom_point(aes(size=foo)) + geom_line() + 
    geom_smooth(stat='identity', aes(ymin=flam - flam_c95, 
       ymax=flam + flam_c95)) 

я получаю:

Warning: Ignoring unknown aesthetics: ymin, ymax 

Без geom_smooth, без предупреждения. flam и flam_c95 существуют в df. Я делал это много раз. Что мне не хватает?

Я использую R 3.2.4, ggplot 2.2.0, который предупреждает, что он был построен для R 3.2.5.

+1

Возможно, вы хотите использовать 'geom_ribbon'? 'geom_smooth' не принимает' ymin' и 'ymax'; в документации перечислены эстетики, которые геометрия понимает под заголовком «Эстетика». – aosmith

+1

@aosmith - это изменилось недавно Я использовал ymin и ymax с geom_smooth и stat = 'identity' в течение многих лет без проблем. Думаю, я буду использовать geom_ribbon. – dfrankow

+0

Я никогда не использовал 'stat =" identity "' в 'geom_smooth', поэтому я не могу сказать вам, когда он изменился. Однако среди других изменений, начинающихся в слоях ggplot2_2.0.0, стало гораздо более строгим по аргументам, а некоторые другие длительные хаки больше не работают. Прочтите [новости] (https://github.com/tidyverse/ggplot2/blob/master/NEWS.md) для уточнения. – aosmith

ответ

2

Вы можете использовать geom_ribbon вместо geom_smooth с помощью stat = "identity", чтобы нарисовать интервалы вокруг вашей линии.

geom_ribbon(aes(ymin=flam - flam_c95, ymax=flam + flam_c95)) 
Смежные вопросы