Добавить центральный текст в диаграмму JS с заголовком - PullRequest
0 голосов
/ 27 апреля 2020

Я добавил плагин к моей диаграмме JS Пончик (ниже), чтобы добавить центральный текст, и все это прекрасно работает

Моя проблема в том, что если я добавлю заголовок к диаграмме (позиция либо 'top' или 'bottom' тогда текст не центрируется, поскольку высота холста является пончиком И заголовком.

Есть ли способ удаления, учитывающий высоту заголовка при вычислении textY (высота / 2)? По-видимому, нет доступных свойств, позволяющих сместить центр для правильного размещения текста

 afterDraw: function (chart, options) {
                        var newFillText = '25%';
                        if (chart.options.centertext) {
                            var width = chart.chart.width,
                                height = chart.chart.height,
                                ctx = chart.chart.ctx;
                            ctx.restore();
                            var fontSize = (height / 130).toFixed(2); //was 114
                            ctx.font = fontSize + "em sans-serif";
                            ctx.textBaseline = "middle";
                            var text = chart.options.centertext,
                                textX = Math.round((width - ctx.measureText(newFillText).width) / 2),
                                textY = height / 2;
                            ctx.fillText(newFillText, textX, textY);
                            ctx.save();
                        }
                    },
...