如何使用wxpython和rpy2显示图像?
所以我尝试在使用wxpython和rpy2时显示R生成的图像 完整的131行代码在这里 因此,在程序中,用户会看到一个由lst_视图生成的窗口,它有两个按钮“Ok”和“Visualize”。按下Visualize后,将执行此代码如何使用wxpython和rpy2显示图像?,python,r,wxpython,visualization,rpy2,Python,R,Wxpython,Visualization,Rpy2,所以我尝试在使用wxpython和rpy2时显示R生成的图像 完整的131行代码在这里 因此,在程序中,用户会看到一个由lst_视图生成的窗口,它有两个按钮“Ok”和“Visualize”。按下Visualize后,将执行此代码 def graph(self,event): f = open('results.csv', 'wb') csvwriter = csv.writer(f) for i in self.res: for j in rang
def graph(self,event):
f = open('results.csv', 'wb')
csvwriter = csv.writer(f)
for i in self.res:
for j in range(1,len(i)):
row = [i[0] ,str(i[j])]
csvwriter.writerow(row)
f.close()
r = robjects.r
r('''
source('vis.r')
''')
r_main = robjects.globalenv['main']
r_main()
return True
在vis.r中,我们有:
graph <- function() {
res = read.csv("results.csv", header=FALSE)
res = mutate(res, Percent = 100*(V2/(sum(res$V2))))
ggplot(data=res, aes(x=V1, y=V2, fill=Percent)) + geom_bar(stat="identity") + coord_flip() + xlab('Facility') + ylab('Number Of Violations')
}
main <- function(){
print(graph())
}
graph好吧,多亏了我才弄明白这一点
基本上,我最初想保存图像,然后用wx将其可视化,但我在使用dev.off()和rpy2时遇到了问题
但是!unutbu提供了一个链接,为我省去了很多麻烦可以使用ggsave()完全绕过整个jpeg('this.jpg');dev.off();生意强>
再次感谢你,unutbu。现在我就用wx渲染它没问题 我也不会介意对替代方案的建议!也许,然后。我最初想这样做,但我认为在脚本中执行dev.off()是行不通的,在python中也失败了。我还花了一些时间来摆弄dev.set(它=1)或2或3,我也不能这样做!也许我做得不对……哦哦哦。非常感谢你的链接。现在我来回答我自己的问题。文档中有一个示例演示了如何使用(和关闭)图形设备:是的,我以各种方式尝试了文档中提到的grdevices.dev_off()方法,但由于某种原因,我始终无法正确地执行。很可能是我的错,但正如我所说,ggsave真的很好,所以你不必考虑你使用的是哪台设备以及要停用的设备等等。