ng2-charts - 如何标记 y 轴?
ng2-charts - How to label y axis?
无法弄清楚如何使用 ng2-charts 标记 y 轴。文档似乎只有关于标记 x 轴的信息,直接使用 charts.js 方法没有结果。
表格component.ts:
public barChartOptions = {
scaleShowVerticalLines: false,
maintainAspectRatio: false,
yAxes: [{
scaleLabel: {
display: true,
labelString: 'Frequency Rate'
}}]
//responsive: true
};
HTML:
<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>
ng2-charts 是原始 chart.js 库的包装器 angular 库。
chart.js中的文档更详细:https://www.chartjs.org/docs/latest/charts/bar.html
how to label y axis using ng2-charts
在 chart.js 中,y-axis 的报价是根据您推入 ChartDataSets[]
的数据自动确定的
例如最大值 y-axis 值为 99
public barChartData: ChartDataSets[] = [
{ data: [5, 1, 99], label: 'Series A' },
{ data: [6, 10, 45], label: 'Series B' }
];
要控制 y-axis 刻度的外观,请参阅此文档:
https://www.chartjs.org/docs/latest/axes/cartesian/linear.html
所以如果你想控制 tick 的 stepSize 以 2 为增量,你可以这样做:
yAxes: [{
ticks: {
stepSize: 2,
beginAtZero: true
}
}]
如果您想将最大 y-axis 刻度标签设置为始终为 100,您将像这样定义您的选项:
yAxes: [{
ticks: {
max: 100
}
}]
要标记您的 y-axis:
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
};
这应该会有帮助,不要忘记为每个设置“display:true”。对我有用
ChartOptions: any = {
responsive: true,
scales: {
yAxes: [
{
display: true,
scaleLabel: {
display: true,
labelString: "Number of Reads",
},
},
],
xAxes: [
{
scaleLabel: {
display: true,
labelString: "Date",
},
},
],
},
};
无法弄清楚如何使用 ng2-charts 标记 y 轴。文档似乎只有关于标记 x 轴的信息,直接使用 charts.js 方法没有结果。
表格component.ts:
public barChartOptions = {
scaleShowVerticalLines: false,
maintainAspectRatio: false,
yAxes: [{
scaleLabel: {
display: true,
labelString: 'Frequency Rate'
}}]
//responsive: true
};
HTML:
<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>
ng2-charts 是原始 chart.js 库的包装器 angular 库。
chart.js中的文档更详细:https://www.chartjs.org/docs/latest/charts/bar.html
how to label y axis using ng2-charts
在 chart.js 中,y-axis 的报价是根据您推入 ChartDataSets[]
的数据自动确定的例如最大值 y-axis 值为 99
public barChartData: ChartDataSets[] = [
{ data: [5, 1, 99], label: 'Series A' },
{ data: [6, 10, 45], label: 'Series B' }
];
要控制 y-axis 刻度的外观,请参阅此文档: https://www.chartjs.org/docs/latest/axes/cartesian/linear.html
所以如果你想控制 tick 的 stepSize 以 2 为增量,你可以这样做:
yAxes: [{
ticks: {
stepSize: 2,
beginAtZero: true
}
}]
如果您想将最大 y-axis 刻度标签设置为始终为 100,您将像这样定义您的选项:
yAxes: [{
ticks: {
max: 100
}
}]
要标记您的 y-axis:
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
};
这应该会有帮助,不要忘记为每个设置“display:true”。对我有用
ChartOptions: any = {
responsive: true,
scales: {
yAxes: [
{
display: true,
scaleLabel: {
display: true,
labelString: "Number of Reads",
},
},
],
xAxes: [
{
scaleLabel: {
display: true,
labelString: "Date",
},
},
],
},
};