2016-08-24 2 views
1

Я абсолютный новичок. Итак, прошу прощения за задание основного вопроса. Я пытаюсь построить минимальное значение в моем наборе данных. Я просмотрел следующую страницу (changing y scale when using fun.y ggplot) и не нашел решение.использованием fun.y в ggplot

Вот первый код: это хорошо работает. Это пятно красной точки в среднем.

ggplot(mpg, aes(trans, cty)) + 
    geom_point() + 
    stat_summary(geom = "point", fun.y = "mean", colour = "red", size = 4) 

Этот не работает. Может кто-нибудь, пожалуйста, помогите мне?

ggplot(mpg, aes(trans, cty)) + 
    geom_point() + 
    stat_summary(geom = "point", fun.ymin = min, colour = "red", size = 50) 

Я не уверен, что происходит.

+0

'fun.y = 'min'' должен работать, но также установить размер на что-то меньше 50 (например, 2), или точки будут вдвое больше, чем сюжет. – Gregor

+0

Кроме того, поздравления с тем, что ваш первый вопрос будет воспроизводимым и относительно ясным. В будущем старайтесь быть более конкретными, чем «не работает» - это дает ошибку или предупреждение? Если да, то что он говорит? Разве это не создает сюжет? Вызывает ли это сюжет, который не кажется правильным? Если да, то что именно кажется неправильным? – Gregor

+0

Удивительный! Это сработало. Я читал? Stat_summary, и там официальный гид использует «fun.ymin = min». Это неправильно? Не могли бы вы объяснить мне это? Буду признателен за ваши мысли. – watchtower

ответ

2

В stat_summary, что вы планируете, зависит от выбранного вами geom. Кажется, вы хотите нарисовать точки, поэтому вы выбрали geom = 'point'. Точка имеет только одно значение y, поэтому итоговые данные будут использованы только fun.y.

Другие аргументы, fun.ymin и fun.ymax. Это не очень понятно в документации, но они необходимы, если вы используете геометрию, которая требует дополнительной эстетики. Например, geom = 'pointrange' участков точки и вертикальная полоса с ymin и ymax:

ggplot(mpg, aes(trans, cty)) + 
    geom_point() + 
    stat_summary(geom = 'pointrange', fun.ymin = min, fun.ymax = max, fun.y = mean, colour = "red", size = 1) 

В этом случае ggplot кодируется адаптируемой образом, чтобы можно было передать имя функции в виде строки символов , fun.ymin = 'min', или вы можете передать функцию напрямую, fun.ymin = min.

Смежные вопросы