javascript - Angular 2 图表 - 改变点半径

标签 javascript angularjs angular chart.js ng2-charts

我正在使用 ng2-charts ( https://github.com/valor-software/ng2-charts ) 为我的 Angular 2 应用程序创建折线图。该图表工作正常 - 当您将鼠标悬停在某个点上时,该点会自动变为白色,以说明它正被鼠标悬停。我想模仿这种行为,但要通过代码手动进行。

当您单击鼠标悬停在一个点上时,我有返回包含图表的对象的单击事件(见图)。从那个对象中,我设法找到了一些似乎控制点半径的值:_model.hitRadius、_model.radius、_view.hitRadius 和 _view.radius(见图)。 enter image description here

我尝试在代码中更改这些值,但图表点没有任何变化。

    e.active[0]._model.hitRadius = 5;
    e.active[0]._model.radius = 10;
    e.active[0]._view.hitRadius = 5;
    e.active[0]._view.radius = 10;  

我也曾尝试在更改值后添加“e.update()”,但我收到一条错误消息,指出 update() 不是函数。

最佳答案

您可以在选项中设置其中一些值,然后将它们传递到 canvas 指令中。将 [options] 标签放在 html 中:

<div style="display: block;">
    <canvas baseChart width="2" height="1"
            [datasets]="chartData"
            [labels]="chartLabels"
            [options]="chartOptions"
            [colors]="chartColors"
            [legend]=true
            chartType=line></canvas>
</div>

然后在 TypeScript 中创建选项对象:

private chartOptions = 
{ 
    responsive: true, 
    elements: 
    { 
        point: 
        {
            radius: 1,
            hitRadius: 5,
            hoverRadius: 10,
            hoverBorderWidth: 2
        }
    }
};

More on ChartJS point configuration

关于javascript - Angular 2 图表 - 改变点半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37687011/

相关文章:

java - 如何从 angularjs 调用 Java Controller 类

angular - 将 javascript 生成的元素插入 primeng turbotable?

javascript - 退出 HTML5 和 Jquery Mobile 中的应用程序

javascript - 如何在 z-index 为 auto 的元素下堆叠?

javascript - 在这个例子中使用new运算符的目的是什么?

javascript - 如何向这个 Angular JS 应用程序添加编辑事件?

css - 我们可以使用 angularjs 使用 ng-repeat 为类型 ="checkbox"设置复选框图像吗

javascript - angular2.js 与 angular2.dev.js

angular - 在动态实例化的 Angular2 服务中处理可观察对象

javascript - 在不损害页面响应能力的情况下设置 col-md-* div 类之间的边距