Search code examples
javascriptjqueryradar-chartanychart

Set background for each quadrant in AnyChart polar charts


I am creating a polar chart using AnyChart

anychart.onDocumentReady(function () {
    // create polar chart
    var chart = anychart.polar();

    var columnSeries = chart.column([
        {x: 'A', value: 28.7},
        {x: 'B', value: 19},
        {x: 'C', value: 17.7},       
        {x: 'D', value: 34.7}
    ]);

    // set series name
    columnSeries.name('Percentage');

    // set title settings
    chart.title()
            .enabled(true)
            .text('Test')
            .padding({bottom: 20});

    // disable y-axis
    chart.yAxis(false);

    // set value prefix for tooltip
    chart.tooltip().valuePrefix('%');

    chart.sortPointsByX(true);

    // set x-scale
    chart.xScale('ordinal');

    // set chart container id
    chart.container('container');

    // initiate chart drawing
    chart.draw();
});
html, body, #container {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
<script src="https://cdn.anychart.com/releases/8.2.1/js/anychart-bundle.min.js"></script>
<div id="container"></div>

Is it possible to add a background for each quadrant?


Solution

  • You can do that by assigning a palette of the xGrid:

    chart.xGrid().palette(["red 0.5", "green 0.5", "blue 0.5", "cyan 0.5"]);
    

    See a snippet:

    anychart.onDocumentReady(function () {
        // create polar chart
        var chart = anychart.polar();
    
        var columnSeries = chart.column([
            {x: 'A', value: 28.7},
            {x: 'B', value: 19},
            {x: 'C', value: 17.7},       
            {x: 'D', value: 34.7}
        ]);
    
        // set series name
        columnSeries.name('Percentage');
    
        // set title settings
        chart.title()
                .enabled(true)
                .text('Test')
                .padding({bottom: 20});
    
        // disable y-axis
        chart.yAxis(false);
    
        // set value prefix for tooltip
        chart.tooltip().valuePrefix('%');
    
        chart.sortPointsByX(true);
    
        chart.xGrid().palette(["red 0.5", "green 0.5", "blue 0.5", "cyan 0.5"]);
    
        // set x-scale
        chart.xScale('ordinal');
    
        // set chart container id
        chart.container('container');
    
        // initiate chart drawing
        chart.draw();
    });
    html, body, #container {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }
    <script src="https://cdn.anychart.com/releases/8.2.1/js/anychart-bundle.min.js"></script>
    <div id="container"></div>