我正在尝试使用 R 绘制一个由 MySQL 查询结果填充的图表。我有以下代码:
rs = dbSendQuery(con, "SELECT BuildingCode, AccessTime from access")
data = fetch(rs, n=-1)
x = data[,1]
y = data[,2]
cat(colnames(data),x,y)
这给了我一个输出:
BuildingCode AccessTime TEST-0 TEST-1 TEST-2 TEST-3 TEST-4 14:40:59 07:05:00 20:10:59 08:40:00 07:30:59
但这就是我陷入困境的地方。我知道如何将“猫”数据传递到 R 图中。我花了几个小时在线搜索,我遇到的大多数 R 图示例都使用 read.tables(text="")
。这对我来说不可行,因为数据必须来自数据库而不是硬编码。我还发现了一些有关将输出保存为 CSV 的信息,但 MySQL 无法覆盖现有文件,因此在执行代码后我无法由于文件已经存在而再次执行此操作。
我的问题是,如何使用“cat”数据(或其他方法,如果有更好的方法)来使用非硬编码的数据绘制图表?
注意:我使用 RApache 作为我的 Web 服务器,并且已经安装了 Brew 软件包。
最佳答案
使用 R 绘制图形,然后将文件路径传递回 cat
<%
## Your other code to get the data, assuming it gets a data.frame called data
## Plot code
library(Cairo)
myplotfilename <- "/path/to/dir/myplot.png"
CairoPNG(filename = myplotfilename, width = 480, height = 480)
plot(x=data[,1],y=data[,2])
tmp <- dev.off()
cat(myplotfilename)
%>
关于mysql - 使用 RApache 和 Brew 使用 MySQL 数据库查询结果绘制 R 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24181623/