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

时间:2013-09-24 16:10:33

标签: highcharts

我们正在使用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>

当我们执行此操作时,我们会获得导出的图表 - 但它是在页面加载时创建的原始图表。有趣的是,如果我们单击图例,只有一个系列在图表上可见,然后将其类型从bar更改为散点图,然后导出图表,我们会在图表上显示所有系列,但所有系列都是散点图类型。因此,看起来某些图表更改正在“保留”并通过导出方法发送,但不是全部。

使用的测试路径列表:

  1. 初始加载 - 导出(任何选项)和图表看起来像是什么 页。
  2. 取消选中图例中的一个项目,以便只显示3个项目 图表。导出图表,它看起来就像路径1中的图像一样。
  3. 转到单个系列并更改图表类型以便分散 图表中显示了一个系列。导出图表和图像 看起来像路径1中的内容,只有所有系列都是分散类型。
  4. 能够在jsFiddle上重现这一点,但这就是我们的代码看起来只是重要部分:jsFiddle

0 个答案:

没有答案