ggplot2 нет сюжета, потому что ggsave нет сохранения - PullRequest
1 голос
/ 14 декабря 2011

У меня есть скрипт на Python, использующий библиотеку pyper (каналы до R), и я пытаюсь получить вывод из ggplot2. Я пробовал и метод ggsave, и устройство (...); dev.off () 'методы и ничего не выводится.

Я должен использовать pyper, потому что каждый раз использует 64 бита (python и R), поэтому rpy [2] не подходит для меня.

Код выглядит следующим образом:

r("png(filename='test.png',width=720,height=540)")  #comment if ggsave
r("p<-ggplot(DB,aes(X,Y,group=cfg))")
r("""p <- p + geom_path(aes(colour=factor(f1))) + scale_x_log10('X label') +
  scale_y_continuous('Y label',breaks=myb,labels=myl) + 
  geom_point(data=subset(DB,pts==dot),aes(colour=factor(f1),size=factor(f2),
  shape=factor(f3))) + labs(colour='l1',size='l2',shape='l3')""")
r("print(p)")
# r("ggsave(filename='test.png',width=10,height=7.5)   #comment out if using png
r("dev.off()")                # comment if using ggsave

В обоих случаях файл не создается. Я проверил, чтобы убедиться, что в таблице данных БД есть записи (1000 с). Что я мог попробовать?

1 Ответ

2 голосов
/ 15 декабря 2011

Так что все это оказывается проблемой с библиотеками и переменными среды. Некоторые из загруженных библиотек, такие как ggplot2, не загружают все зависимости, как библиотека дайджеста. Эта ошибка возникает только в части кода «print (p)».

Кроме того, существуют различия в расположении библиотеки x64, которые необходимо правильно настроить. Убедитесь, что переменные R_HOME и R_LIBS соответствуют вашей конфигурации.

Pyper не показывал мне, что библиотеки не загружались, он просто продолжал работать, поэтому qplot изначально не загружался в R. После того, как вы загрузили его в нужное место, вы должны убедиться, что вы всегда используете либо свою учетную запись пользователя, либо учетную запись администратора (или у вас есть несколько путей в R_LIBS, но я не пробовал).

qplot и ggsave работали нормально, если библиотеки были загружены.

Спасибо всем преданным людям и указаниям по отладке!

...