ggplot2图表只生成一组图表,它们应生成许多图表

时间:2015-06-25 20:50:55

标签: r ggplot2

我正在尝试使用ggplot2为R中的报告创建一组图表,但我仍然在努力习惯ggplot2。

图表数据来自SQL表格,如下所示:

|  Name | Version | Category | Value |  Date  | Number |   Build   | Error |
|:-----:|:-------:|:--------:|:-----:|:------:|:------:|:---------:|:-----:|
| File1 | 0.01    | Time     | 123   | 1-1-12 | 1      | Iteration | None  |
| File1 | 0.01    | Size     | 456   | 1-1-12 | 1      | Iteration | None  |
| File1 | 0.01    | Final    | 789   | 1-1-12 | 1      | Iteration | None  |
| File2 | 0.01    | Time     | 312   | 1-1-12 | 1      | Iteration | None  |
| File2 | 0.01    | Size     | 645   | 1-1-12 | 1      | Iteration | None  |
| File2 | 0.01    | Final    | 978   | 1-1-12 | 1      | Iteration | None  |
| File3 | 0.01    | Time     | 741   | 1-1-12 | 1      | Iteration | None  |
| File3 | 0.01    | Size     | 852   | 1-1-12 | 1      | Iteration | None  |
| File3 | 0.01    | Final    | 963   | 1-1-12 | 1      | Iteration | None  |
| File1 | 0.02    | Time     | 369   | 1-1-12 | 2      | Iteration | None  |
| File1 | 0.02    | Size     | 258   | 1-1-12 | 2      | Iteration | None  |
| File1 | 0.02    | Final    | 147   | 1-1-12 | 2      | Iteration | None  |
| File2 | 0.02    | Time     | 753   | 1-1-12 | 2      | Iteration | None  |
| File2 | 0.02    | Size     | 498   | 1-1-12 | 2      | Iteration | None  |

此表是运行各种文件和录制输出的数据。名称列是文件名,版本列是软件版本,类别列是此处的踢球者,是记录的不同类型的数据,值列是数据的值,日期列是日期记录了数据,数字是"运行的数量"记录此数据的位置,构建列是软件是开发版本还是版本,错误列用于在运行期间记录错误。

类别列是我想要查看的内容。我想在ggplot2中生成一系列图表,用于绘制值(y)(每个文件的每个类别一个图表)与版本号(x)的关系图。因此,y轴将显示特定类别的数据值,x轴显示构建版本。这是我到目前为止所获得的代码。

dbhandle <- SQLConn_remote(DBName = "DBName", ServerName = "SERVER")
Tabledf<-sqlQuery(dbhandle, 'select * from ExampleTable', stringsAsFactors = FALSE)

Tabledf$Name<-str_trim(Tabledf$Name)     
Tabledf$Version<-str_trim(Tabledf$Version)
Tabledf$Category<-str_trim(Tabledf$Category)
Tabledf$Value<-as.numeric(Tabledf$Value)

scenarios<-unique(Tabledf$Name)

for (i in 1:3){
p <- ggplot(subset(Tabledf, Name == scenarios[i]), aes(x=Number, y=Value, group=Name)) 
p <- p + geom_line(aes(color=Date)) + 
         geom_point(size = 1.2, shape = 19, colour = 'red') + 
         facet_grid(Category ~ ., scales  = "free", space = "free")
print(p)
}

我想知道如何为显示哪个文件添加标签,这只为一个文件生成一组图表。我不确定什么是错的。我猜测我的循环没有正确设置。我还是R编码的新手,这是从一个例子中提取的。我有超过30个文件,我想要显示图表。理想情况下,它会有一个页面,您可以在其中拥有一组5-8个图表,这些图表是第一个文件的每个类别的分面。然后你有相同的东西,但第二个文件,依此类推。

编辑:即使有人可以简单地指出我的资源方向来自己解决这个问题,我将不胜感激。我一直在寻找,我只在qplot找到冗长的资源。

EDIT2:好的,我感觉非常愚蠢,无法弄清楚如何使用dput创建要上传的数据集,但这里是代码I用于创建可用的数据帧。

rw1 <- c("File1", "File1", "File1", "File1", "File1", "File1", "File1", "File1", "File1", "File2", "File2", "File2", "File2", "File2", "File2", "File2", "File2", "File2")
rw2 <- c("0.01", "0.01", "0.01", "0.01", "0.01", "0.01", "0.01", "0.01", "0.01", "0.02", "0.02", "0.02", "0.02", "0.02", "0.02", "0.02", "0.02", "0.02")
rw3 <- c("Time", "Size", "Final", "Time", "Size", "Final", "Time", "Size", "Final", "Time", "Size", "Final", "Time", "Size", "Final", "Time", "Size", "Final")
rw4 <- c(123, 456, 789, 312, 645, 978, 741, 852, 963, 369, 258, 147, 753, 498, 951, 753, 915, 438)
rw5 <- c("01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12", "01/01/12")
rw6 <- c(1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2)
rw7 <- c("Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration", "Iteration")
rw8 <- c("None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None")


df = data.frame(rw1, rw2, rw3, rw4, rw5, rw6, rw7, rw8)
colnames(df) <- c("Name", "Version", "Category", "Value", "Date", "Number", "Build", "Error")

这将生成一个与上图所示几乎相同的图表。 理想情况下,我想从这个数据集创建一组图表。格式是由Filename组合在一起的一组或一组图表。例如:

Example File1 Charts

可能只是File1的图表组。每个图表方面都是单个&#34;类别&#34;来自dataframe / table。对于File2会有另外一组这样的组,依此类推。

我想要清理它。每个方面的右侧都有类别标签,我只是选择删除图片中的那些标签。但是,我想添加一个标签,显示&#34; Name&#34;以及&#34;类别&#34;和&#34;价值&#34;。我上面提供的代码也只为第一个文件生成这些代码。我相信它是第一个文件。没有任何名称标签,没有办法知道。

0 个答案:

没有答案