jQuery Highcharts:使用下拉列表更改图表类型

时间:2012-03-30 18:37:50

标签: php jquery highcharts

我正在尝试将图表的值更改为以下

<!doctype html>
<head>
<script>
var chart1; // globally available

$(document).ready(function() {
    var chart = 'pie'
    $("select").change(function(){
        chart = $('#chart').val();
        alert(chart);
    });

   chart1 = new Highcharts.Chart({
       chart: {
          renderTo: 'container',
          type: chart 
        },
        yAxis: {
           title: {
              text: 'Temprature'
           }
        },
        series: [{
           name: 'mach_1',
            data: [<?php 
            foreach($chart as $`row) {
            echo  $row['temp'].",";
            }
           ?>]
          }]
      });
});
</script>
</head>

<body>
  <div id="form">

    <label>Select a chart : </label>
    <select id="chart">
      <option>pie</option>
      <option>column</option>
    </select>

  </div>

  <div id="container"></div>

</body>
</html>

我知道这会改变select上的图表值,但它不会改变图表本身。有什么想法吗?

1 个答案:

答案 0 :(得分:14)

  1. 你原来的问题很难阅读和解释; stackoverflow的一些代码编辑器标签与您尝试发布的代码交织在一起。将来,您可以在jsfiddle上添加代码示例。

  2. 如果我正确理解了这个问题,您正在寻找更改所显示图表的类型。显示数据的饼图;现在显示数据的条形图;现在显示折线图等。

  3. 如果您有Highcharts问题,那么在Highcharts论坛之前,其他人已经问过这个问题是一个不错的选择。在您的情况下,我认为这是真的:“动态更改图表类型?” - http://highslide.com/forum/viewtopic.php?f=9&t=5501&p=26274&hilit=switch+chart+types#p26274

  4. 在上面链接的Highcharts论坛问题中,Highcharts的作者Torstein Honsi回答了这个问题,并且包括一个你可能会发现有用的起点,因为他正在改变它的图表类型。 http://jsfiddle.net/tccpT/稍后,Highcharts支持团队成员包括一个小提琴,我们看到另一个更改图表类型的示例。 http://jsfiddle.net/2hLr5/

  5. 当饼图涉及两个以上的数据时,通常建议不要使用饼图作为可视化数据的方法。饼图具有的值越多,感知这些数据之间的关系就越困难。