Показывать метки в гистограмме с накоплением с помощью Ng2Charts - PullRequest
0 голосов
/ 09 июня 2018

У меня есть проект Anuglar6 с гистограммой с накоплением, фактически построенный с помощью Ng2Charts.Можно ли показать значения в каждой секции одного стека?

А если нет, кто-нибудь знает модуль angular2, который делает это возможным?

This is what i want

index.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <base href="/">

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <script data-require="chart.js@2.6.0" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels"></script>

</head>
<body>
    <app-root>
        <div class="spinner">
            <div class="bounce1"></div>
            <div class="bounce2"></div>
            <div class="bounce3"></div>
        </div>
    </app-root>
</body>

параметры диаграммы в * .component.ts

    public barChartOptions: any = {
    scaleShowVerticalLines: true,
    responsive: true,
    plugins: {
        datalabels: {
            display: true,
            align: 'center',
            anchor: 'center'
        }
    },
    scales: {
        xAxes: [{
            stacked: true,
            stackLabels: {
                enabled: true
            }
        }],
        yAxes: [{
            stacked: true,
            ticks: {
                beginAtZero: true
            }
        }]
    }
};

public barChartType = 'bar';
public barChartLegend = true;

*. Component.html

<div class="row">
<div class="col col-sm-12">
    <div class="card mb-12">
        <div class="card-header">
            <span>
                {{ 'Production' | translate }} <small>{{ '(in pcs.)' | translate }}</small>
                <small class="summary"><i>{{ 'Summary' | translate}} <b>{{ summary }}</b></i></small>
            </span>
        </div>
        <div lang class="card-body">
            <canvas baseChart [datasets]="barChartData" [labels]="dayLabels" [options]="barChartOptions" [legend]="barChartLegend" [chartType]="barChartType" (chartHover)="chartHovered($event)" (chartClick)="chartClicked($event)">
            </canvas>
        </div>
    </div>
</div>

1 Ответ

0 голосов
/ 10 июня 2018

Поскольку ng2-диаграммы внутренне используют chart.js, этого легко достичь с помощью плагина Chart.js, который называется: chartjs-plugin-datalabels.

ВотМинимальные параметры, которые необходимо установить для этого плагина, чтобы отображать значения внутри (в середине) столбцов с накоплением:

options: { //your chart options
   plugins: {
      datalabels: {
         display: true,
         align: 'center',
         anchor: 'center'
      }
   }
}

, хотя существует множество других параметров, которые можно использовать для дальнейшей настройки этих значений / меток(внутри столбцы), которые можно найти here.

...