【问题标题】:No output while plotting HeatMap using Rcharts使用 Rcharts 绘制热图时没有输出
【发布时间】:2015-08-13 21:05:43
【问题描述】:

我正在使用以下代码使用 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)

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

【问题讨论】:

    标签: r rcharts


    【解决方案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
    

    【讨论】:

    • 它对我来说很好,但是当我使用这个长列表时它对我不起作用。 filedropper.com/file_4
    • 在您的列表中,x 和 y 不是从 0 开始,并且您有一些缺失值,例如,(6135001, 6135000) 没有值。
    • 我将值更改为 h$xAxis(categories=list(c(6135001, 6135015))) 和 h$yAxis(categories=list(c(6135001, 6135015))) 仍然没有输出。
    • 请帮助我,因为我非常需要。谢谢
    • 我可以生成输出,但是当我使用几乎超过 15000 点的许多点时,更新浏览器需要很长时间,最后我看不到输出。
    猜你喜欢
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多