angular - ngx-charts:设置最大数量。在 xAxis 上显示标签/刻度并防止旋转

标签 angular ngx-charts

在 ngx-area-chart 中,我想设置最大值。在 xAxis 上显示的标签为 5。
如果我只有几个值,这会按预期工作(左示例),但有更多数据,标签开始旋转,看起来像此屏幕中的正确示例:

screenshot

我希望 xAxis 上只有 5 个标签并且不旋转,与图表中的值数量无关。我玩过这个 plunker仅通过更改 data.ts 中的值:

export var multi = [{
'name': 'Data',
'series': [
  {"name":"24 Aug 12:30","value":"1.35870168"},
  {"name":"24 Aug 12:40","value":"3.92566715"},
  {"name":"24 Aug 12:50","value":"8.5667666"},
  {"name":"24 Aug 13:00","value":"5.25927041"},
  {"name":"24 Aug 13:10","value":"4.99596386"},

  ....

]}];

任何帮助深表感谢。

最佳答案

我想这有点晚了,但也许这对其他人有用。
如果您想自定义 X 轴中的刻度数,您可以使用 [xAxisTickFormatting] 输入来完成此技巧。

<ngx-charts-area-chart 
  class='chart' 
  [view]="view" 
  [scheme]="colorScheme" 
  [results]="results" 
  [xAxis]="showXAxis" 
  [yAxis]="showYAxis" 
  [legend]="showLegend" 
  [showXAxisLabel]="showXAxisLabel" 
  [showYAxisLabel]="showYAxisLabel" 
  [xAxisLabel]="xAxisLabel"
	[yAxisLabel]="yAxisLabel" 
  [autoScale]="autoScale"
  [showGridLines]='false' 
  (select)="onSelect($event)" 
  [xAxisTickFormatting]='axisFormat'>
</ngx-charts-area-chart>


然后定义你的axisFormat函数(它只需要第一个刻度,中间的刻度和最后一个),你可以根据你的需要自定义你的选项
  axisFormat(val) {
    if ( this.ticks[0] == val || this.ticks[this.ticks.length-1] == val || this.ticks[(this.ticks.length-1)/2] == val) {
      return val
    } else {
      return ''
   }
 }

希望能帮助到你

关于angular - ngx-charts:设置最大数量。在 xAxis 上显示标签/刻度并防止旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45906260/

相关文章:

angular - ngx-charts : On click pie chart slice, 单击的切片应该变为事件状态

angular - 我如何替换 Angular ngx-charts 中图表的 "legend"单词?

javascript - ngx 图表 : Line chart define line width

angular - 在 Angular 火灾、不安全值、domsanitation中基于数据库查询动态显示iframe

html - 芯片关闭按钮不会遵守 css

angular - 如何在 Angular 4 中实现向下滚动分页

angular - ngOnChanges 跟踪以前的值和新值?

javascript - Angular CDK 拖放 - 是否可以创建圆形边界?

带有组件的 Angular7 元素出现架构错误

Angular 12 - 不可分配给类型 '[number, number]