首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng2-charts如何标记y轴?

ng2-charts如何标记y轴?
EN

Stack Overflow用户
提问于 2019-07-11 09:19:09
回答 2查看 9.6K关注 0票数 7

无法弄清楚如何使用NG2图表标记y轴。文档似乎只有关于标记x轴的信息,直接使用charts.js方法没有任何结果。

表单component.ts:

代码语言:javascript
复制
  public barChartOptions = {
    scaleShowVerticalLines: false,
    maintainAspectRatio: false,

    yAxes: [{
      scaleLabel: {
        display: true,
        labelString: 'Frequency Rate'
      }}]
    //responsive: true
  };

HTML:

代码语言:javascript
复制
<script src="node_modules/chart.js/src/chart.js"></script>

<!--<button mat-button mat-raised-button color="primary" (click)="populate_data()">Update</button>-->

<div>
  <canvas baseChart class="chart" height ='450'

        [datasets]="barChartData"
        [labels]="barChartLabels"
        [options]="barChartOptions"
        [legend]="barChartLegend"
        [chartType]="barChartType">

      </canvas>
    </div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-11 10:27:57

ng2-charts是一个围绕原始chart.js库的封装角库。

chart.js中的文档更为详细:https://www.chartjs.org/docs/latest/charts/bar.html

如何使用ng2图表标记y轴

在chart.js中,y轴的刻度是根据推送到ChartDataSets[]中的数据自动确定的

例如,最大y轴值将为99

代码语言:javascript
复制
public barChartData: ChartDataSets[] = [
    { data: [5, 1, 99], label: 'Series A' },
    { data: [6, 10, 45], label: 'Series B' }
];

要控制y轴刻度线的外观,请参阅此文档:https://www.chartjs.org/docs/latest/axes/cartesian/linear.html

因此,如果您希望将tick的stepSize控制为增量2,您可以这样做:

代码语言:javascript
复制
yAxes: [{
   ticks: {
      stepSize: 2,
      beginAtZero: true
   }
}]

如果要将最大y轴记号标签设置为始终为100,请按如下方式定义选项:

代码语言:javascript
复制
yAxes: [{
   ticks: {
      max: 100
   }
}]

要标记y轴,请执行以下操作:

代码语言:javascript
复制
public barChartOptions: ChartOptions = { // import { ChartOptions } from 'chart.js'; 
   ...
   responsive: true,
   maintainAspectRatio: false,
   ...
   scales: { //you're missing this
      yAxes: [{
         scaleLabel: {
            display: true,
            labelString: 'Frequency Rate'
         }
      }]
   }//END scales
};
票数 14
EN

Stack Overflow用户

发布于 2021-05-12 00:21:40

这应该会有帮助,别忘了为每个设置"display:true“。对我来说很管用

代码语言:javascript
复制
ChartOptions: any = {
 responsive: true,
 scales: {
  yAxes: [
   {
    display: true,
    scaleLabel: {
     display: true,
     labelString: "Number of Reads",
    },
   },
  ],
  xAxes: [
   {
    scaleLabel: {
     display: true,
     labelString: "Date",
    },
   },
  ],
 },
};
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56980478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档