使用Rcharts绘制HeatMap时没有输出

时间:2015-08-13 21:05:44

标签: r rcharts

我正在使用以下代码使用rcharts绘制热图。

a<-as.list(c(22,13,25,43,63,47,42,43,42,75))
b<-as.list(c(12,32,15,41,61,71,45,23,22,45))
c<-as.list(c(1,1,1,1,3,1,5,6,7,3))


a<-data$V1
b<-data$V2
c<-data$V3

library(RCurl)
require(devtools)
library(rCharts)
h <- rCharts:::Highcharts$new()
h$chart(
        animation=FALSE,
        plotBorderWidth=3, 
        type='line',
        renderTo = "snipa-raplot-dynamic"       
       )
h$chart(margin = list(left =0))
xAxistmp <- list()
#labels=list(style=c(fontSize="15px"))
xAxistmp[[1]] <- list()

h$xAxis(xAxistmp)

yAxistmp <- list()

yAxistmp[[1]] <- list()


h$yAxis(yAxistmp)               
seriestmp<-list()
seriestmp[[1]]<-list(data = cbind(a,b,c), type="heatmap")
#seriestmp[[2]]<-list(data = b, type="column", name="Common",color='green')
#seriestmp[[3]]<-list(data = c, type="column", name="1000 Genome")
h$series(seriestmp)
h$save('C:/Users/man4ish/Desktop/barplot.html', standalone = TRUE)

但没有输出。此外,我找不到调试问题的方法,因为它是highcharts的包装,我可以使用类似的逻辑生成热图。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您需要添加额外的JavaScript库以使用RCharts获取热图。您可以通过添加:

来实现
h$addAssets(js = c("https://code.highcharts.com/modules/exporting.js",
                   "https://code.highcharts.com/modules/heatmap.js"))

您的数据格式也是错误的。您需要删除矩阵的列名称以获得正确的JSON输出。矩阵的第一列是x轴坐标,第二列是y轴坐标,第三列是热图正方形的值。

无法弄清楚你的价值所在的地方就是一个例子:

 library(rCharts)
 a<-as.list(c(0,0,1,1))
 b<-as.list(c(0,1,0,1))
 c<-as.list(c(2,3,4,5))

df <- cbind(a,b,c)
colnames(df) <-NULL


h <- rCharts:::Highcharts$new()
h$addAssets(js = c("https://code.highcharts.com/modules/exporting.js",
                   "https://code.highcharts.com/modules/heatmap.js"))

h$chart(type='heatmap')
h$xAxis(categories=list(c(0,1)))
h$yAxis(categories=list(c(0,1)))
h$addParams(colorAxis=list(min=0,minColor='#FFFFFF',maxColor="#!Highcharts.getOptions().colors[0]!#"))
h$series(data = df)
h