highcharts jquery动态将图表类型列更改为条形图

highcharts jquery动态将图表类型列更改为条形图,jquery,highcharts,Jquery,Highcharts,我正在尝试使用jquery切换图形类型 我找到了一种方法,可以通过使用以下函数手动更改图表类型(无需重新创建新图表): 系列[i]。更新({type:chartType}) 我的第一个问题是:有一种方法可以改变所有图表,而不仅仅是系列?如果没有,请继续阅读:) 但是有了这个函数,我就不能让条形图工作了。它就像一个柱状图。正如您所看到的,饼图示例作为例外工作 酒吧: 其工作原理(示例): 柱 酒吧 馅饼 $('#设置列')。单击(函数(){ var chart=$(this.parent('d

我正在尝试使用jquery切换图形类型

我找到了一种方法,可以通过使用以下函数手动更改图表类型(无需重新创建新图表):

系列[i]。更新({type:chartType})

我的第一个问题是:有一种方法可以改变所有图表,而不仅仅是系列?如果没有,请继续阅读:)

但是有了这个函数,我就不能让条形图工作了。它就像一个柱状图。正如您所看到的,饼图示例作为例外工作

酒吧:

其工作原理(示例):


柱
酒吧
馅饼
$('#设置列')。单击(函数(){
var chart=$(this.parent('div').attr('id');
图表=图表。替换(“”,“”);
$(“#”+图表).highcharts().series[0]。更新({
类型:“列”
});
});
$(“#设置_栏”)。单击(函数(){
var chart=$(this.parent('div').attr('id');
图表=图表。替换(“”,“”);
$(“#”+图表).highcharts().series[0]。更新({
类型:“条”
});
});
$(“#设置饼图”)。单击(函数(){
var chart=$(this.parent('div').attr('id');
图表=图表。替换(“”,“”);
$(“#”+图表).highcharts().series[0]。更新({
类型:“馅饼”
});
});
海图创建:

$('#top10')。高图({
图表:{
键入:“列”,
保证金:[50,50,100,80]
},
标题:{
文字:“TOP10”
},
副标题:{
文本:“”
},
学分:{
已启用:false
},
xAxis:{
类别:['1','2','3','4'],
标签:{
轮调:-45,
对齐:“右”,
风格:{
fontSize:'13px',
fontFamily:“Verdana,无衬线”
}
}
},
亚克斯:{
分:0,,
标题:{
案文:“Ilość”
}
},
图例:{
已启用:false
},
工具提示:{
格式化程序:函数(){
返回'+this.x+'
'+'Ilość:'+this.y; } }, 系列:[{ 名称:“Ilośćzgłoszeń,前10名”, 数据:[1,2,3,43], 数据标签:{ 启用:对, 轮换:-90, 颜色:“#FFFFFF”, 对齐:“右”, x:4, y:10, 风格:{ fontSize:'13px', fontFamily:“Verdana,无衬线” } } }] });
下面是一个小提琴的例子:


谢谢,

您可以在图表中使用反向参数并更新yAxis


不确定你是否找到了答案,但我发现了一个链接,它对你有101%的帮助,甚至可以作为将来的参考。你能看一下吗。我在搜索其他东西,我找到了这个链接,也得到了你的问题

   [http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/members/series-update/][1]
如果这对您有任何帮助,请告诉我或接受我的回答。干杯:)

这对我很有用:

$.each(chart.series, function (key, series) {
    series.update(
        {type: 'bar'},
        false
    );
}
function changeType() {
  var series  = chart.series[0];
  var newType = your_condition_here ? 'column' : 'bar';
  var dataArray = [],
      points = series.data;

  series.chart.addSeries({
      type: newType,
      name: series.name,
      color: series.color,
      data: series.options.data
  }, false);
  series.remove();
}

以下是对我有用的:

$.each(chart.series, function (key, series) {
    series.update(
        {type: 'bar'},
        false
    );
}
function changeType() {
  var series  = chart.series[0];
  var newType = your_condition_here ? 'column' : 'bar';
  var dataArray = [],
      points = series.data;

  series.chart.addSeries({
      type: newType,
      name: series.name,
      color: series.color,
      data: series.options.data
  }, false);
  series.remove();
}
它使用新类型创建新系列并删除旧系列

可根据需要自由添加更多选项


希望它能帮助某人:)

好的,我看到它在工作。但它是一个旁路,不是一个真正的条形图。因此,如果它不完美,你可以销毁并创建新的图表。我不相信没有方法只在图表级别而不是系列级别切换图表类型。这是你的计时器,塞巴斯蒂安