javascript - Draw a chart using highchart.js -


i new data visulizations. having requirement draw chart similar below using highchart.js enter image description here

see jsfiddle: http://jsfiddle.net/rgpz2ru5/22/ tried far. able draw chart facing issue while drawing lines between datalabel , point (just shown in above image)? can please help?

see below code draw chart:

 $('#container').highcharts({     chart: {       type: 'scatter',     },     xaxis: {       visible: false     },     yaxis: {       title: {         text: ''       },       labels: {         formatter: function() {           return null         }       }     },     plotoptions: {       series: {         datalabels: {           enabled: true,           inside: false,             formatter: function(){             console.log("x"+this.x)             console.log("this.x%2"+this.x%2)           if(this.x%2 == 0){           console.log("in if")           return "<div style='position: relative;height:70px; border-left:solid thin #ff0000;margin-left:10px'><span style='position: absolute;bottom: 0;right: 0;'>hello</span></div>";           }else{           console.log("in else")           return "<span style='color:black'>"+this.key+"</span><div style='height:70px; border-left:solid thin #ff0000;margin-left:10px'/>";           }           },           usehtml:true          }       },scatter: {                 marker: {                     radius: 5,                     states: {                         hover: {                             enabled: false,                             linecolor: "#ffb74d"                         }                     }                 },                 states: {                     hover: {                         marker: {                             enabled: false                         }                     }                 },                 tooltip: {                     headerformat: '<b>{series.name}</b><br>',                     pointformat: '{point.x} cm, {point.y} kg'                 }             }     },      series: [{       data: [{         x: 1,         y: 1,          datalabels: {           y: -80          },         marker: {           radius: 3         },         name: 'sds',         color: "#ffb74d"       }, {         x: 2,         y: 1,          datalabels: {           y: 80         },         marker: {           radius: 5         },         name: 'mip',         color:"#ffe0b2"       }, {         x: 3,         y: 1,          datalabels: {           y: -80,           distance : 50,                     softconnector : false,                     connectorcolor : '#d0d0d0',         },         marker: {           radius: 7         },         name: 'mdp',         color:"#ff9800"       },{         x: 4,         y: 1,          datalabels: {           y: 80         },         marker: {           radius: 9         },         name: 'rad',         color:"#ffb74d"       },{         x: 5,         y: 1,          datalabels: {           y: -80         },         marker: {           radius: 3         },         name: 'sds',         color: "#ffb74d"       }, {         x: 6,         y: 1,          datalabels: {           y: 80         },         marker: {           radius: 5         },         name: 'mip',         color:"#ffe0b2"       }, {         x: 7,         y: 1,          datalabels: {           y: -80         },         marker: {           radius: 7         },         name: 'mdp',         color:"#ff9800"       },{         x: 8,         y: 1,          datalabels: {           y: 80         },         marker: {           radius: 9         },         name: 'rad',         color:"#ffb74d"       },{         x: 9,         y: 1,          datalabels: {           y: -80         },         marker: {           radius: 3         },         name: 'sds',         color: "#ffb74d"       }, {         x: 10,         y: 1,          datalabels: {           y: 80         },         marker: {           radius: 5         },         name: 'mip',         color:"#ffe0b2"       }, {         x: 11,         y: 1,          datalabels: {           y: -80         },         marker: {           radius: 7         },         name: 'mdp',         color:"#ff9800"       },{         x: 12,         y: 1,          datalabels: {           y: 80         },         marker: {           radius: 9         },         name: 'rad',         color:"#ffb74d"       }]     }]    });  

can please help?

to make similar chart can use bubble chart: http://jsfiddle.net/rgpz2ru5/

or standard scatter chart: http://jsfiddle.net/rgpz2ru5/1/

you can change marker size of scatter using marker.radius parameter:

    marker: {       radius: 5,       states: {         hover: {           linecolor: "#ffb74d"         }       }     }, 

you can add labels using chart.renderer.path , chart.renderer.label: http://api.highcharts.com/highcharts/renderer.path http://api.highcharts.com/highcharts/renderer.label

  var drawlabels = function(chart) {     $('.clabels').remove();     var series = chart.series,       renderer = chart.renderer,       plottop = chart.plottop,       plotleft = chart.plotleft;     highcharts.each(series, function(s) {       highcharts.each(s.data, function(p) {         renderer.path(['m', p.plotx + plotleft, p.ploty + plottop, 'l', p.plotx + plotleft, p.ploty + plottop - 30]).attr({           stroke: 'black',           'stroke-width': 1         }).addclass('clabels').add();         renderer.label(p.name, p.plotx + plotleft, p.ploty + plottop - 50).attr({           'text-anchor': 'middle',           padding: 0         }).addclass('clabels').add();       });     });   } 

here can see example how can work: http://jsfiddle.net/rgpz2ru5/29/


Comments

Popular posts from this blog

unity3d - Rotate an object to face an opposite direction -

angular - Is it possible to get native element for formControl? -

javascript - Why jQuery Select box change event is now working? -