我有一个剑道折线图,每个数据点都需要具有不同的标记样式。
我有以下模板(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”来实现此目的,请帮我提供示例代码。