R & ggplot2: Спарклайны от динамических переменных (на основе результатов запроса) - PullRequest
3 голосов
/ 25 февраля 2010

Я написал SQL-запрос, в котором указаны имена 10 самых частых аварийных сообщений на предыдущей неделе. И я написал запрос, который принимает эти 10 основных аварийных сигналов и предоставляет итоговые итоги за неделю для каждого из этих аварийных сигналов.

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

Я получил что-то похожее на то, что хотел бы, но теперь мне нужно сделать это "динамичным". то есть, чтобы это работало без жесткого кодирования имен сигналов тревоги (так как они будут меняться с запросом SQL каждую неделю).

Как я могу изменить приведенный ниже код R для работы без жесткого кодирования имен сигналов тревоги?

Имеет ли отношение уровни (spark $ Alarm)?

Спасибо за совет: -)

Week = c(rep(1:8,2))
Total = rnorm(16,1000,600)
Alarm = c(rep("BELTWEIGHER HIGH HIGH",8), rep("MICROWAVE LHS",8))
spark <- data.frame(Week, Alarm, Total)

s <- ggplot(spark, aes(Week, Total)) +
     facet_grid(Alarm ~ ., scales = "free", as.table = FALSE) +
     opts(
  panel.background = theme_rect(size = 1, colour = "lightgray"),
  panel.grid.major = theme_blank(),
  panel.grid.minor = theme_blank(),
  axis.line = theme_blank(),
  axis.text.x = theme_blank(),
  axis.text.y = theme_blank(),
  axis.title.x = theme_blank(),
  axis.title.y = theme_blank(), 
  axis.ticks = theme_blank(),
  strip.background = theme_blank(),
  strip.text.y = theme_text(size = 7, colour = "red", angle = 90)
 )

s1 <- s  + geom_line(subset = .(Alarm == "BELTWEIGHER HIGH HIGH"))
s2 <- s1 + geom_line(subset = .(Alarm == "MICROWAVE LHS"))
s2

1 Ответ

4 голосов
/ 25 февраля 2010

Хорошо, это был глупый вопрос:)

Вот очевидный ответ.

Week = c(rep(1:8,2))
Total = rnorm(16,1000,600)
Alarm = c(rep("BELTWEIGHER HIGH HIGH",8), rep("MICROWAVE LHS",8))
spark <- data.frame(Week, Alarm, Total)


s <- ggplot(spark, aes(Week, Total)) +         
     theme(
        panel.background = element_rect(size = 1, colour = "lightgray"),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        axis.line = element_blank(),
        axis.text.x = element_blank(),
        axis.text.y = element_blank(),
        axis.title.x = element_blank(),
        axis.title.y = element_blank(), 
        axis.ticks = element_blank(),
        strip.background = element_blank(),
        strip.text.y = element_blank()
        #strip.text.y = element_text(size = 7, colour = "red", angle = 90)
    )

s + facet_grid(Alarm ~.) + geom_line()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...