我想導出一個動態生成的圖表,我注意到有些東西不會被導出。例如,我的圖表具有PlotBands,這些PlotBands根據所顯示的數據是動態的。HighCharts - 如何創建動態圖表,導出一切
當我建立我的圖表時,我遵循所有偉大的HighChart示例的標準代碼佈局,我在文檔加載時立即生成圖表。然後在我的代碼中,我使用Ajax調用來加載數據並修改標題,繪圖帶,自定義文本等內容。
問題是,在初始圖表加載後,圖表上任何修改的內容都不會導出爲圖像或PDF文件。我的PlotBands是在Ajax調用期間添加的。它們不能包含在構建於document.load()
上的圖表對象中。所以HighCharts很容易忽略它們。
在我的圖表中,我想顯示24小時內在不同地點的能源使用情況。用戶可以選擇不同的日子和不同的網站。繪製帶需要突出顯示運行時間,並且每個站點都有不同的運行小時,這些運行小時將加載數據。此外,圖表標題顯示網站名稱,副標題顯示平方英尺。
此外,我的代碼使用HighCharts渲染器text()
命令在圖形底部繪製一些自定義文本。
我對勉強運作的出口代碼看起來是這樣的:
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: "ChartContainer",
type: "line",
title: { text: null },
subtitle: { text: null }
}
}
});
function UpdateChart() {
$.ajax({
url: "/my/url.php",
success: function(json) {
chart.addSeries(json[1]);
chart.addSeries(json[2]);
chart.setTitle(json[0].title, json[0].subtitle);
chart.xAxis[0].addPlotBand({ color: "#FCFFB9", from: json[0].OpenInterval, to: json[0].CloseInterval, label: { text: "Operating Hours", verticalAlign: "bottom", y: -5, style: { fontSize: "8pt", color: "gray" } } });
chart.renderer.text("Custom Text", 50, 100);
}
});
}
不幸的是,標題,積帶和「自定義文本」不會,如果用戶出口圖表出現。
你能縮小這個問題嗎? –
對不起,如果我不清楚。這不是一個問題。這是我想與我的StackMates分享的一個解決方案,如果他們在這裏搜索我遇到的同樣問題:在某些情況下讓HighCharts導出按預期工作。 –
它是一個非常好的想法。不用客氣。那麼在這種情況下,你提到問題,SO允許用戶回答自己的帖子。你可以回答你的帖子。 –