剑道图-在同一系列上更改单个标记的类型,大小和边框颜色

时间:2019-09-28 16:51:28

标签: angular kendo-ui-angular2

我有一个剑道折线图,每个数据点都需要具有不同的标记样式。

我有以下模板(markerType,大小和边框颜色是硬编码的,我正在尝试使其变得动态)

<kendo-chart>
    <kendo-chart-category-axis>
        <kendo-chart-category-axis-item [categories]="categories">
        </kendo-chart-category-axis-item>
    </kendo-chart-category-axis>
    <kendo-chart-series>
      <kendo-chart-series-item type="line" field="values" [data]="chartData">
        <kendo-chart-series-item-markers [type]="markerType" [size]="30" [border]="{color: 'green'}">
        </kendo-chart-series-item-markers>
      </kendo-chart-series-item>
    </kendo-chart-series>
</kendo-chart>

以及以下组件

import { Component, OnInit, Input } from '@angular/core';
import {  LineItem } from '../../../model/external-model';
import { MarkerType } from '@progress/kendo-angular-charts';

@Component({
  selector: 'line-chart',
  templateUrl: './line-chart.component.html',
  styleUrls: ['./line-chart.component.scss']
})
export class LineChartComponent implements OnInit {
  categories: string[];
  values: number[];
  @Input() public chartData:LineItem[] = [];
  public markerType: MarkerType = "cross";
  constructor() { }

  ngOnInit() {
    this.categories = this.chartData.map(x => x.category);
    this.values = this.chartData.map(x => x.values);
  }
}

并且LineItem如下。

export interface LineItem {
  category: string
  values: number
  marker: Marker
}

export interface Marker {
  size: number
  type: MarkerType
  background: string
}

我的预期结果是制作一个折线图,其中每个数据点的大小,形状(圆形,十字形,三边形,正方形)和边框颜色都不同。因此,我想将“标记”的大小,类型和背景绑定到kendo-chart-series-item-markers-类型,大小和边框。

找不到找到使用“ dataItem”的方法(类似于kendo工具提示的方法)来获取单个数据点值。我该如何实现?

如果仅使用“ SeriesMarkers”的“ visual”来实现此目的,请帮我提供示例代码。

0 个答案:

没有答案