I am trying to Make the legend symbol a square or rectangle for a line graph. Example
The line is fine. I dont want change the line width. HTML:
<script src="http://code.highcharts.com/highcharts.js"></script>
<div id="container" style="height: 400px"></div>
Javascript:
$(function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'line',
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
plotOptions: {
series: {
marker: {
enabled: false
}
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
symbolHeight:100,
borderWidth: 0
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});
});
I tried adding symbolHeight in legend. But its not working.
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
symbolHeight:100,
borderWidth: 0
},
How to increase the height of line symbol to make it rectangle or square?
It's possible to achieve square legend symbols via configuration. Just set legend.symbolRadius
value to 0
.
JSFiddle demo: https://jsfiddle.net/9bzy2qzq/
This is a copy of the question: How to access legendSymbols and change their shape in HighCharts
It has a similar answer and two others:
First Option:
Highcharts.seriesTypes.line.prototype.drawLegendSymbol =
Highcharts.seriesTypes.area.prototype.drawLegendSymbol;
Second Option:
You can change the stroke-width
attribute on the path element.
We can provide functions to Highcharts that will be drawn whenever the chart is drawn. Since redraw
is not called on the first drawing the load
event is needed
chart: {
events: {
load: function () {
$(".highcharts-legend-item path").attr('stroke-width', 10);
},
redraw: function () {
$(".highcharts-legend-item path").attr('stroke-width', 10);
}
}
},
You can make a fake series as follows and provider marker to it.
$(function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'line',
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
plotOptions: {
series: {
marker: {
enabled: true
}
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
//borderWidth: 0
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
showInLegend : false,
marker:{enabled:false}
},{
name : "testing",
data : {},
marker : {symbol : 'square',radius : 12 }
}
]
});
});
Working demo : DEMO
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With