同一图形R中多个条形图的数据可视化
data visualization of multiple barplot in same graph R
我有这个数据集
Feature Distance LOF Mahalanobis Cook DIFFTS OCSVM DBSCAN PCA Gaussian
V1V2 A 8.5 8.8 9.5 10.5 3.8 7.3 0.0 5.4
V1V2 B 3.7 5.4 5.2 5.3 3.5 4.8 0.0 1.7
V1V2 C 8.8 9.3 7.7 8.4 4.6 6.8 0.0 3.1
V1V3 A 6.2 14.8 11.9 11.2 4.1 8.0 0.0 4.3
V1V3 B 4.7 6.5 5.4 5.6 3.4 5.6 0.0 3.7
V1V3 C 8.5 19.5 14.3 8.4 4.6 8.8 0.0 3.1
....
V1V2V3V4V5 A 2.0 12.0 9.4 10.5 4.0 4.5 0.0 1.0
V1V2V3V4V5 B 4.3 4.7 4.5 5.1 3.7 3.8 0.0 5.6
V1V2V3V4V5 C 3.5 7.8 9.2 9.7 4.5 4.7 0.0 12.9
我想生成一个包含多个条形图的可视化图表。
LOF ---- Gaussian
V1V2 Barplot (A,B,C) ....................... Barplot (A,B,C)
特征
............................................................
V1V2V3V4V5 Barplot (A,B,C) .................. Barplot (A,B,C)
这是一个由 8x26 条形图组成的图表。
劳尔
您可以使用 ggplot2
和 facet_grid
。我使用了所提供数据的一个子集,但它可以缩放(尽管 26*8 条形图很多)。
library(reshape2)
library(ggplot2)
首先,重塑数据,因为 ggplot 在处理长格式数据时效果更好。
m_df <- melt(df, id.vars=c("Feature","Distance"))
然后剧情:
p1 <- ggplot(m_df, aes(x=Distance,y=value)) +
geom_bar(stat="identity") +
facet_grid(Feature~variable)
使用的数据:
df <- read.table(text=" Feature Distance LOF Mahalanobis Cook DIFFTS OCSVM DBSCAN PCA Gaussian
V1V2 A 8.5 8.8 9.5 10.5 3.8 7.3 0.0 5.4
V1V2 B 3.7 5.4 5.2 5.3 3.5 4.8 0.0 1.7
V1V2 C 8.8 9.3 7.7 8.4 4.6 6.8 0.0 3.1
V1V3 A 6.2 14.8 11.9 11.2 4.1 8.0 0.0 4.3
V1V3 B 4.7 6.5 5.4 5.6 3.4 5.6 0.0 3.7
V1V3 C 8.5 19.5 14.3 8.4 4.6 8.8 0.0 3.1",header=T
)
我有这个数据集
Feature Distance LOF Mahalanobis Cook DIFFTS OCSVM DBSCAN PCA Gaussian
V1V2 A 8.5 8.8 9.5 10.5 3.8 7.3 0.0 5.4
V1V2 B 3.7 5.4 5.2 5.3 3.5 4.8 0.0 1.7
V1V2 C 8.8 9.3 7.7 8.4 4.6 6.8 0.0 3.1
V1V3 A 6.2 14.8 11.9 11.2 4.1 8.0 0.0 4.3
V1V3 B 4.7 6.5 5.4 5.6 3.4 5.6 0.0 3.7
V1V3 C 8.5 19.5 14.3 8.4 4.6 8.8 0.0 3.1
....
V1V2V3V4V5 A 2.0 12.0 9.4 10.5 4.0 4.5 0.0 1.0
V1V2V3V4V5 B 4.3 4.7 4.5 5.1 3.7 3.8 0.0 5.6
V1V2V3V4V5 C 3.5 7.8 9.2 9.7 4.5 4.7 0.0 12.9
我想生成一个包含多个条形图的可视化图表。
LOF ---- Gaussian
V1V2 Barplot (A,B,C) ....................... Barplot (A,B,C)
特征
............................................................
V1V2V3V4V5 Barplot (A,B,C) .................. Barplot (A,B,C)
这是一个由 8x26 条形图组成的图表。
劳尔
您可以使用 ggplot2
和 facet_grid
。我使用了所提供数据的一个子集,但它可以缩放(尽管 26*8 条形图很多)。
library(reshape2)
library(ggplot2)
首先,重塑数据,因为 ggplot 在处理长格式数据时效果更好。
m_df <- melt(df, id.vars=c("Feature","Distance"))
然后剧情:
p1 <- ggplot(m_df, aes(x=Distance,y=value)) +
geom_bar(stat="identity") +
facet_grid(Feature~variable)
df <- read.table(text=" Feature Distance LOF Mahalanobis Cook DIFFTS OCSVM DBSCAN PCA Gaussian
V1V2 A 8.5 8.8 9.5 10.5 3.8 7.3 0.0 5.4
V1V2 B 3.7 5.4 5.2 5.3 3.5 4.8 0.0 1.7
V1V2 C 8.8 9.3 7.7 8.4 4.6 6.8 0.0 3.1
V1V3 A 6.2 14.8 11.9 11.2 4.1 8.0 0.0 4.3
V1V3 B 4.7 6.5 5.4 5.6 3.4 5.6 0.0 3.7
V1V3 C 8.5 19.5 14.3 8.4 4.6 8.8 0.0 3.1",header=T
)