I have an amChart with many rows, like this one. The legend looks a bit awfull.
Is it possible to display the legend in a single row with some scrolling? like for th
The question is too old to answer but still it may help someone to get rid of this problem quickly.
Following is the proper documentation provided by amcharts: https://www.amcharts.com/tutorials/putting-a-legend-outside-the-chart-area/
And here is the JsFiddle Example: http://jsfiddle.net/amcharts/Cww3D/
HTML:
Chart div:
Legend div:
JavaScript:
var chart;
var chartData = [{category:" "}];
AmCharts.ready(function() {
// SERIAL CHART
chart = new AmCharts.AmSerialChart();
chart.autoMarginOffset = 0;
chart.dataProvider = chartData;
chart.categoryField = "category";
chart.startDuration = 1;
// AXES
// category
var categoryAxis = chart.categoryAxis;
categoryAxis.labelRotation = 45; // this line makes category values to be rotated
categoryAxis.gridAlpha = 0;
categoryAxis.fillAlpha = 1;
categoryAxis.fillColor = "#FAFAFA";
categoryAxis.gridPosition = "start";
// value
var valueAxis = new AmCharts.ValueAxis();
valueAxis.dashLength = 5;
valueAxis.title = "Visitors from country";
valueAxis.axisAlpha = 0;
chart.addValueAxis(valueAxis);
// GRAPH
for (var i = 0; i < 15; i ++) {
chartData[0]["val"+i] = Math.floor(Math.random() * 20);
var graph = new AmCharts.AmGraph();
graph.valueField = "val"+i;
graph.title = "Graph #"+i;
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 1;
chart.addGraph(graph);
}
// LEGEND
var legend = new AmCharts.AmLegend();
chart.addLegend(legend, "legenddiv");
// WRITE
chart.write("chartdiv");
});
CSS:
body { font-family: Verdana; padding: 15px;}
#legenddiv {
height: 100px !important; /* force that height */
overflow: auto;
position: relative;
}