如何在HighCharts中着色点

时间:2016-07-06 11:14:30

标签: javascript jquery html css highcharts

嘿,我知道如果我想为特定点着色,我可以使用当前标记的fillColor属性来完成。

但是当我悬停点时,颜色返回到图形的默认颜色,我该如何防止这种效果?

我希望这两种情况都是红色的(onhover事件而不是onhover事件),

我需要更改每个点的哪个属性才能发生此效果?

我在下面添加了一个演示,演示的行为如下:当您单击图形画布时,会生成一个新图形,第一个点是红色,但是当我将其悬停时,它将返回其默认颜色。



$(function () {
    $('#container').highcharts({
        chart: {
            type: 'spline',
            margin: [70, 50, 60, 80],
            events: {
                click: function (e) {
                    // find the clicked values and the series
                    var x = e.xAxis[0].value,
                        y = e.yAxis[0].value,
                        series = this.series[0];
										var chart = this;
                    this.addSeries({
            							data: [{ x:x, y:y, marker:{radius: 5 , fillColor: "red" }},{x:(x*2), y:(y*2)}]
        							})
        	

                }
            }
        },
        title: {
            text: 'User supplied data'
        },
        subtitle: {
            text: 'Click the plot area to add a point. Click a point to remove it.'
        },
        xAxis: {
            gridLineWidth: 1,
            minPadding: 0.2,
            maxPadding: 0.2,
            maxZoom: 60
        },
        yAxis: {
            title: {
                text: 'Value'
            },
            minPadding: 0.2,
            maxPadding: 0.2,
            maxZoom: 60,
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },
        legend: {
            enabled: false
        },
        exporting: {
            enabled: false
        },
        plotOptions: {
            series: {
                lineWidth: 1,
                point: {
                    events: {
                        'click': function () {
                            if (this.series.data.length > 1) {
                                this.remove();
                            }
                        }
                    }
                }
            }
        },
        series: [{
            data: [[20, 20], [80, 80]]
        }]
    });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>

<div id="container" style="min-width: 310px; height: 400px; max-width: 700px; margin: 0 auto"></div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:3)

添加状态选项,您可以在其中设置标记fillColor:

marker: {
    radius: 5, 
    fillColor: 'red', 
    states: {
        hover: {
            fillColor: 'red',
            }
        } 
    }