решетки не работают внутри функции - PullRequest
3 голосов
/ 02 ноября 2011

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

library(DBI);
library(RMySQL);
library(brew);
library(lattice);
con <- dbConnect(MySQL(),server credentials)
x <- dbGetQuery(con,"SELECT name, distance FROM distances")
bitmap("/tmp/dist_6078.bmp")
dotplot(x$distance~x$name, col='red', xlab='name', ylab='distance', main='Distance plot')
dev.off()

Проблема в том, что я получаю пустое изображение, еслиЯ заключаю все между <% и%> и использую библиотеку brew.Все работает нормально, если я использую базовые графики R, проблема возникает только тогда, когда я использую решетку.

1 Ответ

7 голосов
/ 05 ноября 2011

Из R FAQ 7.22

Функции решетки, такие как xyplot (), создают объект графа, но не отображать его (то же самое верно для графики ggplot2 и графики Trellis в S-Plus). Метод print () для графического объекта создает фактический дисплей

Рабочий код

library(DBI);
library(RMySQL);
library(brew);
library(lattice);
con <- dbConnect(MySQL(),server credentials)
x <- dbGetQuery(con,"SELECT name, distance FROM distances")
bitmap("/tmp/dist_6078.bmp")
plot_obj <- dotplot(x$distance~x$name, col='red', xlab='name', ylab='distance', main='Distance plot')
print(plot_obj)
dev.off()
...