Как установить статические метки для гистограмм ng2-диаграмм? - PullRequest
0 голосов
/ 05 февраля 2019

Я использую ng2-диаграммы.У меня есть массив данных.Я печатаю дневные значения по оси X и метки по оси Y.Проблема в том, что если у меня есть данные только по вторникам и средам, то отображаются только два, но мне нужна статическая ось X (Sun-Sat).Как показано ниже

То, что у меня в данный момент есть:

Screenshot of 2 bars (a blue on Monday and a yellow on Tuesday) on a bar chart

Что я хочу получить:

Screenshot of 2 bars (a blue on Tuesday and a yellow on Wednesday) on a bar chart

HTML

<div style="display: block" *ngIf="barChartData">
  <canvas baseChart width="400" height="180" style="margin-left:5%;margin- 
top: 5%;" [datasets]="barChartData"
[labels]="barChartLabels" [options]="barChartOptions" 
[legend]="barChartLegend" [chartType]="barChartType"
(chartHover)="chartHovered($event)" [colors]="chartColors" 
(chartClick)="chartClicked($event)"></canvas>
</div>

TS

this.barChartLabels = this.days; //Have week days like[tue,wed]
setTimeout(() => {
 this.barChartData = [
   { data: this.marks },
 ]
})

Пожалуйста, помогите мне.Заранее спасибо.

1 Ответ

0 голосов
/ 05 февраля 2019

Чтобы найти решение, обновите ваш код, как показано ниже.

HTML

 <div>
        <div style="display: block">
           <canvas baseChart
                [datasets]="barChartData"
                [labels]="barChartLabels"
                [options]="barChartOptions"
                [legend]="barChartLegend"
                [chartType]="barChartType"
                (chartHover)="chartHovered($event)"
                (chartClick)="chartClicked($event)"></canvas>
         </div>
      <button (click)="randomize()">Update</button>
    </div>

TS

export class AppComponent {

    public barChartOptions:any = {
        scaleShowVerticalLines: false,
        responsive: true
    };
  public barChartLabels:string[] = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
  public barChartType:string = 'bar';
  public barChartLegend:boolean = true;

  public barChartData:any[] = [
    {data: [0, 0, 80, 81, 0, 0, 0], label: 'Graph 1'},
  ]
}

Здесь Рабочий пример

...