微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ngx图表:在条形图上选择数据并通过代码更改颜色

如何解决ngx图表:在条形图上选择数据并通过代码更改颜色

我正在使用ngx-charts作为第一时间,并且正在创建ngx-charts-bar-vertical图表。

我已经成功创建了图表,但是我想知道是否可以通过name值选择一个条形。

尤其是我的数据如下:

[
  {
    name: '2020-01-01',value: 13
  },{
    name: '2020-01-02',value: 27
  }
]

我想知道是否可以通过name选择特定的条形并更改其颜色以使其更加突出。

想法是,因为在我的应用程序中有一个日期选择器,所以我想使用选定的日期在图表中突出显示该日期的值。

我看到垂直条形图具有多个关联的事件(例如选择,激活),但是我似乎无法理解这些事件是否可以满足我的需求。

此外,如果这是相关的,我可以在应用程序中使用不同类型的日期,因此,如果字符串不是最好的,我可以根据需要轻松使用JavaScript Date对象(尽管我看不到)垂直条形图文档中与time相关的任何选项,但我在line chart一个中看到了)。

解决方法

这就是我的做法。我使用了 modelBuilder .HasDbFunction(typeof(MyDbFunctions).GetMethod( nameof(MyDbFunctions.ExtractEpochFromTimestampWithTimezone))) .HasTranslation(args => SqlFunctionExpression.Create( "EXTRACT",new [] { new SqlFragmentExpression( $"EPOCH FROM TIMESTAMP WITH TIME ZONE"),args.First() },typeof(double),null)); 的{​​{1}}属性,根据其标签之一的值来设置条形的颜色。

基本上,我所做的就是在图表类ts文件中定义一个customColors属性,并将其添加到html中,然后可以根据所需的值更改其颜色。

因为我的值是日期,所以我可以做这样的事情:

vertical-bar-chart

在我的应用中,customColors为我提供了日期选择器中的当前时间为this.getTime().subscribe(time => { this.customColors = [ { name: time.format('YYYY-MM-DD'),value: '#ff0000' // RED FOR THIS DATE ONLY } ]; }); ,并且我可以使用此this.getTime()日期对象将其在图表中的格式设置为“选择”我的酒吧并更改其颜色。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。