ggplot one geom_abline per facet для группового перехвата и наклона [дубликат]

Просто, чтобы дать общий ответ здесь обо всех трех API MYSQL со ссылкой:

Вы не можете смешивать ни одно из трех ( mysql_* , mysqli_* , PDO ) API MYSQL от PHP вместе, он просто не работает. Это даже в справочнике FAQ :

Невозможно смешать расширения. Например, передача mysqli в PDO_MySQL или ext / mysql не будет работать.

blockquote>

Вам нужно использовать тот же API MySQL и связанные с ним функции, от подключения к запросам .

0
задан Imane Fateh 12 July 2013 в 17:13
поделиться

2 ответа

Вы можете создать новый столбец в вашем кадре данных, который содержит среднее значение. Я назвал его как y.int и вычислил с помощью функции ddply() из библиотеки plyr. Здесь среднее значение, рассчитанное только для значений, где Type равно Completed (поскольку Requested следует исключить).

library(plyr)
cns<-ddply(cns,.(Name),transform,y.int=mean(Days[Type=="Completed"]))

Теперь используйте geom_hline() и новый столбец, чтобы добавить линии к каждой грани .

plot + geom_hline(aes(yintercept=y.int))
4
ответ дан Didzis Elferts 21 August 2018 в 01:15
поделиться
  • 1
    и теперь читать документацию plyr. спасибо очень любезно. – user1893148 12 July 2013 в 17:22
  • 2
    Помещая y.int в cns, а затем вызывая geom_hline с этим, вы будете рисовать несколько горизонтальных линий в каждой грани (по одной для каждой строки в cns, соответствующей этой грани). Хотя это может не иметь практического эффекта, в некоторых случаях он может (прозрачность, антиалиасинг, размер файла графика). – Brian Diggs 12 July 2013 в 18:33
  • 3
    @BrianDiggs +1 Вы правы, создание нового кадра данных может быть лучшим способом. – Didzis Elferts 12 July 2013 в 18:41

Вариант ответа Didzis , я бы сделал отдельный кадр данных для сводных данных, которые вы хотите отобразить на один грань.

library("plyr")
cns.annotate <- ddply(cns, .(Name), summarize, y.int=mean(Days[Type=="Completed"]))

затем передать этот кадр данных to geom_hline.

qplot(Date, data=cns, 
      geom="bar", binwidth = 1, 
      fill=Type, facets = Name ~ .) +
  geom_hline(data=cns.annotate, aes(yintercept=y.int))

или в ggplot, а не в синтаксисе qplot:

ggplot(cns, aes(x=Date)) +
  geom_bar(aes(fill=Type), binwidth=1) +
  geom_hline(data=cns.annotate, aes(yintercept=y.int)) +
  facet_grid(Name ~ .)
2
ответ дан Community 21 August 2018 в 01:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: