Show different data in top and bottom of Rcirclize

46 views Asked by At

I have 2 dataframes with different number of rows and columns, and I'd like to show both of them in a circos plot with circlize.

My data looks like this:

df1=data.frame(replicate(7,sample(-200:200,200,rep=TRUE))/100)
df2=data.frame(replicate(2,sample(-200:200,200,rep=TRUE))/100)

#head(df1)
    X1      X2      X3      X4      X5      X6      X7
1   -0.03   0.63    -0.33   0.73    -1.37   -1.39   1.96
2   -1.81   -1.24   -1.63   1.58    0.13    1.39    -0.76
3   0.02    -2.00   -1.93   -1.35   1.06    -0.58   -0.77
4   -1.11   -1.38   -0.66   -0.40   1.69    -0.47   -1.55
5   0.98    0.06    0.00    -0.35   1.97    1.74    0.72
6   1.51    -1.68   -0.44   -1.74   0.15    0.26    0.36

#head(df2)
    X1      X2
1   0.16    -0.81       
2   -1.38   -0.16       
3   -0.22   -0.74       
4   0.73    -0.82       
5   0.58    -1.87       
6   -0.63   1.50

I want to build a single circos plot where the top is showing df1 and bottom is showing df2, but I can only show individual dfs. For instance, this is how I show df1:

col_fun1=colorRamp2(c(min(df1), 0, max(df1)), c("blue", "white", "red"))
circos.heatmap(df1, col = col_fun1, cluster = T,  track.height = 0.2,   rownames.side = "outside",  rownames.cex = 0.6)
circos.clear()

enter image description here

How can I df1 only in the top half, and df2 only in the bottom half?

0

There are 0 answers