R中的3d堆积条形图 [英] 3d Stacked bar plot in R
问题描述
我有一个数据框 mydf
,如下所示.我想绘制一个堆叠的3d图(如下面的示例图所示),其中A,C,G,T列由条形表示(示例图中的年).每个file.name的Length列的范围从18到34,并希望它们像示例图中的那样位于 Gas Type
轴上,然后我最终希望 file.name
列如下图所示位于 country axis
(国家/地区轴)上.如何在R中绘制此图?感谢您的帮助.
I have a dataframe mydf
as shown below. I want to plot a stacked 3d plot (as shown in sample plot below) where A, C, G, T columns are represented by bars (years in the sample plot). Length column ranges from 18 to 34 for each file.name and want them to be on the Gas Type
axis as in example plot, then I finally want file.name
column to be on country axis
as in sample plot below. How can I get this plotted in R? Thanks for your help.
mydf <- structure(list(file.name = structure(c(1L, 1L, 2L, 2L, 4L, 4L
), .Label = c("merged_read_counts", "DCL1_VF_1_GAGTGG_L008_R1_001",
"DCL1_VF_2_GGTAGC_L008_R1_001", "DCL2_VF_1_ACTGAT_L008_R1_001",
"DCL2_VF_2_ATGAGC_L008_R1_001", "DCLd_SSHADV1_1_AGTTCC_L008_R1_001",
"DCLd_SSHADV1_2_ATGTCA_L008_R1_001", "DCLd_SSHADV1_3_CCGTCC_L008_R1_001",
"DCLd_SSHV2L_1_GTAGAG_L008_R1_001", "DCLd_SSHV2L_2_GTCCGC_L008_R1_001",
"DCLd_SSHV2L_3_GTGAAA_L008_R1_001", "DCLd_VF_1_GTGGCC_L008_R1_001",
"DCLd_VF_2_GTTTCG_L008_R1_001", "DCLd_VF_3_CGTACG_L008_R1_001",
"WT_SSHADV1_1_GGCTAC_L008_R1_001", "WT_SSHADV1_2_CTTGTA_L008_R1_001",
"WT_SSHADV1_3_AGTCAA_L008_R1_001", "WT_SSHV2L_1_GCCAAT_L008_R1_001",
"WT_SSHV2L_2_CAGATC_L008_R1_001", "WT_SSHV2L_3_ACTTGA_L008_R1_001",
"WT_SSHV2L_4_GATCAG_L008_R1_001", "WT_SSHV2L_5_TAGCTT_L008_R1_001",
"WT_VF_1_ATCACG_L008_R1_001", "WT_VF_2_CGATGT_L008_R1_001", "WT_VF_3_TTAGGC_L008_R1_001",
"WT_VF_4_TGACCA_L008_R1_001", "WT_VF_5_ACAGTG_L008_R1_001"), class = "factor"),
length = c(18L, 19L, 18L, 19L, 18L, 19L), A = c(2294436L,
2588528L, 52104L, 47190L, 103378L, 59269L), C = c(1501040L,
2838174L, 35888L, 93922L, 38132L, 31912L), G = c(2106623L,
1714702L, 80765L, 64930L, 129040L, 161517L), T = c(5065628L,
7462881L, 62174L, 87905L, 274783L, 110125L)), .Names = c("file.name",
"length", "A", "C", "G", "T"), row.names = c(1L, 2L, 18L, 19L,
58L, 59L), class = "data.frame")
推荐答案
I don't think 3d bar plots are available in ggplot(ggplot2 3D Bar Plot).
我建议改为分组,堆叠的条形图.像这样:
I would suggest grouped, stacked barplots instead. Something like:
library(ggplot2)
library(reshape2)
df <- melt(mydf,id.vars=c("file.name","length"))
ggplot(df, aes(x = file.name, y = value, fill = variable)) +
geom_bar(stat = 'identity', position = 'stack') + facet_grid(~ length)
这篇关于R中的3d堆积条形图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!