highcharts从现有系列中获得dashstyle

时间:2015-09-07 09:19:47

标签: jquery api highcharts

我有一个现有的高图(类型行),里面有一些系列。我给了他们特别的dashStyles。我正在" window.open()"复制图表。窗口,我复制主图表的系列,并将它们粘贴到新窗口的高级图表中。

当我遍历图表以创建我自己的cloneSeries对象时,我遇到了遇到dashStyle的问题。

这是我目前正在尝试的简化版本

var hcCharts = $(this).closest(".chartWrapper").find(".chartContainer").highcharts()
var cloneSeries = [];

    for (var i = 0; i < hcCharts.series.length; i++) {
        cloneSeries.push({
                name: hcCharts.series[i].name,
                data: y,
                color: hcCharts.series[i].color,
                dashStyle: hcCharts.series[i].dashStyle, //not working!
                dataLabels: {
                    enabled: true,
                }

        })
   }

然后在window.open()文档中

$(".largeChart").highcharts({
    chart: {
        type: "line"
    },
    tooltip: {
        shared: true                    
    },
    series: cloneSeries, //cloneSeries is passed to the series option
    title: { text: title },                   
    exporting: { enabled: false },
    credits: {
        text: '',
    }
});

这个系列正在传递数据,名称和颜色。但不是dashStyle。

请不要犹豫要求澄清

1 个答案:

答案 0 :(得分:2)

似乎dashStyle属性位于series.options。我建议你试试:

var hcCharts = $(this).closest(".chartWrapper").find(".chartContainer").highcharts()
var cloneSeries = [];

    for (var i = 0; i < hcCharts.series.length; i++) {
        cloneSeries.push({
                name: hcCharts.series[i].name,
                data: y,
                color: hcCharts.series[i].color,
                dashStyle: hcCharts.series[i].options.dashStyle, // << Line modified
                dataLabels: {
                    enabled: true,
                }

        })
   }