原創(chuàng)|行業(yè)資訊|編輯:楊鵬連|2020-12-14 13:14:55.093|閱讀 390 次
概述:本教程將向您展示如何在R中使用JavaScript語(yǔ)法自定義和調(diào)整交互式圖表。我們將使用Highcharter(Highcharts R包裝器)來構(gòu)建交互式圖表,并使用Highcharts API(以Javascript語(yǔ)言)自定義R代碼。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Highcharts是一款純JavaScript編寫的圖表庫(kù),為你的Web網(wǎng)站、Web應(yīng)用程序提供直觀、交互式圖表。當(dāng)前支持折線、曲線、區(qū)域、區(qū)域曲線圖、柱形圖、條形圖、餅圖、散點(diǎn)圖、角度測(cè)量圖、區(qū)域排列圖、區(qū)域曲線排列圖、柱形排列圖、極坐標(biāo)圖等幾十種圖表類型。
本教程將向您展示如何在R中使用JavaScript語(yǔ)法自定義和調(diào)整交互式圖表。我們將使用Highcharter(Highcharts R包裝器)來構(gòu)建交互式圖表,并使用Highcharts API(以Javascript語(yǔ)言)自定義R代碼。
擾流警報(bào),在R中使用JavaScript非常容易。您要做的就是將JavaScript代碼包裝到List()方法中。
讓我們以純Highcharts / JavaScript制作的這個(gè)演示為例:
... events = list(render = JS("function() { const chart = this, data = chart.series[0].data; let pointsToProject = []; (chart.myCustomCircles || []).forEach(function(circle) { circle.destroy(); }); chart.myCustomCircles = []; pointsToProject = chart.series[0].points.filter(function(point) { return point.flag && point.isInside; }); // Where to draw a circle pointsToProject.forEach(function(point) { const customCircle = chart.renderer.circle( chart.plotLeft + point.plotX, chart.plotSizeY + chart.plotTop, 4 ) .attr({ fill: 'red', zIndex: 2 }) .add(); chart.myCustomCircles.push(customCircle); }); // Where to render the text if (!chart.myCustomText) { chart.myCustomText = chart.renderer.text( ', chart.plotLeft, 35 ) .add(); } chart.myCustomText.attr({ text: 'Number of points with max value: ' + pointsToProject.length, }); } " )) ... series = list( dataLabels = list( enabled = TRUE, formatter = JS("function() { let visiblePoints = this.series.points.filter(function(point) { return point.isInside; }), max = visiblePoints.reduce(function(acc, cur) { return Math.max(cur.y, acc); }, 0); if (this.y === max) { this.point.flag = true; return this.y; } else { this.point.flag = false; } } " ) )您也可以使用簡(jiǎn)化的模板。例如,下面的代碼使您可以動(dòng)態(tài)更改圖表背景。這段代碼是創(chuàng)建自己的高級(jí)配置的良好起點(diǎn):
library('highcharter') highchart() % > % hc_add_series( type = "line", data = list(5, 4, 3, 5) ) % > % hc_chart(events = list(load = JS("function() { var chart = this; chart.update({ chart: { backgroundColor: '#FCFFC5' } }); console.log('Updated chart background color!'); } ") ))概括地說,您可以在可以在可用的Highcharts API選項(xiàng)中編寫常規(guī)JavaScript函數(shù)的地方使用這種自定義方法。
我們鼓勵(lì)您使用在這里學(xué)到的知識(shí)來使用R創(chuàng)建交互式圖表,歡迎您在本文中提出您的問題和評(píng)論!
APS幫助提升企業(yè)生產(chǎn)效率,真正實(shí)現(xiàn)生產(chǎn)計(jì)劃可視化呈現(xiàn)與控制,快速有效響應(yīng)不同場(chǎng)景的生產(chǎn)計(jì)劃,提高準(zhǔn)時(shí)交貨能力,提高產(chǎn)能和資源利用率
想要購(gòu)買Highcharts正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: