據我瞭解,有一個在功能hchart.data.frame
和輔助功能,在包裝highcharter
get_hc_series_from_df
和colorize
的執行錯誤。目前github version以一種非常不同的方式處理這個問題,但我認爲這個版本還沒有準備好生產。所以目前我提出一個很醜陋的解決方案:
變化通過fixInNamespace("colorize", "highcharter")
的colorize
實施從
function (x, colors = c("#440154", "#21908C", "#FDE725"))
{
nuniques <- length(unique(x))
palcols <- (grDevices::colorRampPalette(colors))(nuniques)
if (!is.numeric(x) | nuniques < 10) {
y <- as.numeric(as.factor(x))
xcols <- palcols[y]
}
else {
ecum <- ecdf(x)
xcols <- palcols[ceiling(nuniques * ecum(x))]
}
xcols
}
到
function (x, colors = c("#000000", "#21908C", "#FDE725"))
{
nuniques <- length(unique(x))
palcols <- (grDevices::colorRampPalette(colors))(nuniques)
if (!is.numeric(x) | nuniques < 10) {
y <- as.numeric(as.factor(x))
xcols <- palcols[y]
}
else {
ecum <- ecdf(x)
xcols <- palcols[ceiling(nuniques * ecum(x))]
}
xcols
}
在這種情況下,顏色從預定義的梯度值進行調整。您可以看到使用此代碼'> myc = seq(from = 0,to = 1000) > myd = data.frame(y = myc) > hchart(myd,「column」,y = y,color = y) '。使用'highchart()%>%'的設置選項效果更好 - [更多信息](http://jkunst.com/highcharter/highcharts.html) - 也許你可以使用這種格式? –
正如@nevrome所說,0.4.0v的hchart函數並不那麼聰明。我會推薦使用即將發佈的開發版本並修復一些細節。試試這個例子http://rpubs.com/jbkunst/questions-41429071 – jbkunst