【发布时间】:2015-04-02 01:01:59
【问题描述】:
所以我试图在使用 wxpython 和 rpy2 时显示 R 生成的图像...
完整的 131 行代码在这里...https://gist.github.com/ACollectionOfAtoms/4286c0fc32838b03f2ea
所以在程序中,用户来到了一个由 lst_view 生成的窗口,它有两个按钮“Ok”和“Visualize”。一旦按下 Visualize,就会执行此代码..
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())
}
这不会立即生成图表,而是会导致出现一个新菜单,并且只有在我转到“页面设置”时才会显示该图表......
任何人的想法?!
【问题讨论】:
-
我也不介意对替代品提出建议!
-
我最初想这样做,但是我在脚本中执行 dev.off() 不起作用,并且在 python 中执行它也失败了。我还花了一些时间弄乱 dev.set(which=1) 或 2 或 3,但我也不能那样做!也许我做得不对……
-
噢噢噢噢噢噢噢。非常感谢你的链接。我现在将回答我自己的问题。
标签: python r wxpython visualization rpy2