Highcharts 导出的图像与网页上的当前显示不匹配

Highcharts 导出的图像与网页上的当前显示不匹配,highcharts,Highcharts,我们正在使用HighStock 1.3.1和Java+PhantomJS导出服务器(使用与HighStock相同的导出器版本)。我们在页面上创建一些图表。我们允许用户显示/隐藏系列或更改系列的类型(条形/线条/散点)。我们有一个菜单,允许用户选择要进行的导出类型: <select size="4" name="ctl00$Main_content$ctlMainResultsGraph$lstExportOptions" id="ctl00_Main_c

我们正在使用HighStock 1.3.1和Java+PhantomJS导出服务器(使用与HighStock相同的导出器版本)。我们在页面上创建一些图表。我们允许用户显示/隐藏系列或更改系列的类型(条形/线条/散点)。我们有一个菜单,允许用户选择要进行的导出类型:

    <select size="4"
       name="ctl00$Main_content$ctlMainResultsGraph$lstExportOptions"
       id="ctl00_Main_content_ctlMainResultsGraph_lstExportOptions"
       class="chartMainmenu_body"
       onchange="
        var chart = $('#chartMain').highcharts();
        switch (this.value) {
         case 'JPEG': chart.exportChart({type: 'image/jpeg'}); break;
         case 'PNG': chart.exportChart({type: 'image/png'}); break;
         case 'SVG': chart.exportChart({type: 'image/svg+xml'}); break;
         case 'PDF': chart.exportChart({type: 'application/pdf'}); break;
        }"
      style="text-align:left;font-weight:bold;">
        <option value="JPEG">JPEG</option>
        <option value="PNG">PNG</option>
        <option value="SVG">SVG</option>
        <option value="PDF">PDF</option>
    </select>

JPEG
巴布亚新几内亚
SVG
PDF
当我们执行此操作时,我们确实会得到一个导出的图表-但是它是在页面加载时创建的原始图表。有趣的是,如果我们点击图例,使图表上只有一个系列可见,然后将其类型从条形图更改为散点图,然后导出图表,我们会在图表上显示所有系列,但所有系列都是散点型。因此,看起来一些图表的更改被“保留”并通过导出方法发送出去,但不是全部

使用的测试路径列表:

  • 初始加载-导出(任何选项)和图表看起来像是打开的 页面
  • 取消选中图例中的一项,以便在图例上仅显示3项 图表。导出图表,它看起来就像路径1中的图像
  • 转到单个系列,将图表类型更改为分散,以便 图表中显示了一个系列。导出图表和图像 看起来像路径1中的内容,只有所有系列都是分散型

  • 我不能在JSFIDLE上重现这一点,但这就是我们的代码的外观,只剩下重要的部分:。

    这和问题一样吗?@PawełFus,有点不同。这个问题与是否重置图表无关。我认为答案是一样的-使用
    jQuery.extend()
    函数确保只将副本传递给Highcharts构造函数。