我正在使用以下代码使用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的包装,我可以使用类似的逻辑生成热图。请帮我解决这个问题。
答案 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