Диаграмма JS кольцевая с закругленными краями в одном направлении и белой рамкой между сегментамиJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Диаграмма JS кольцевая с закругленными краями в одном направлении и белой рамкой между сегментами

Сообщение Anonymous »

Сегмент кольцевой диаграммы js не отображается в одном направлении. Первый и последний сегменты не работают должным образом, введите описание изображения здесь.
Ожидание: нужны круглые сегменты диаграммы js с закругленными углами, отображаемые в одном направлении с белой рамкой между сегментами.
Введите описание изображения здесь.
Код


< pre class="snippet-code-js lang-js Prettyprint-override">

Код: Выделить всё

// Create a custom Doughnut type with rounded segments
Chart.defaults.RoundedDoughnut = Chart.helpers.clone(Chart.defaults.doughnut);
Chart.controllers.RoundedDoughnut = Chart.controllers.doughnut.extend({
draw: function(ease) {
var ctx = this.chart.ctx;
var easingDecimal = ease || 1;
var arcs = this.getMeta().data;
var borderWidth = 20; // Width of the white border for space between segments
Chart.helpers.each(arcs, function(arc, i) {
var vm = arc._view;
var startAngle = vm.startAngle;
var endAngle = vm.endAngle;
var radius = (vm.outerRadius + vm.innerRadius) / 2;
var thickness = (vm.outerRadius - vm.innerRadius) / 2;
ctx.save();
ctx.translate(vm.x, vm.y);
// Draw each arc segment with a white border to create spacing
ctx.beginPath();
ctx.arc(0, 0, radius, startAngle, endAngle);
ctx.lineWidth = thickness * 2 + borderWidth; // Increase width to add border
ctx.strokeStyle = '#FFFFFF'; // Set border color to white
ctx.lineCap = 'round'; // Ensure all segments are rounded on both ends
ctx.stroke();
// Draw inner colored arc over the white border to make it look like a gap
ctx.beginPath();
ctx.arc(0, 0, radius, startAngle, endAngle);
ctx.lineWidth = thickness * 2;
ctx.strokeStyle = vm.backgroundColor; // Set segment color
ctx.stroke();

ctx.restore();
});
}
});
// Initialize the chart
window.onload = function() {
new Chart(document.getElementById('usersChart'), {
type: 'RoundedDoughnut',
data: {
datasets: [{
data: [10, 10, 10, 10, 10, 10, 10, 10], // Adjust data values for even segments
backgroundColor: [
'#5da4e7', '#8fbbe7', '#addbf0', '#4b8de7',
'#4da466', '#8ec486', '#b3dba8', '#63b571'
],
borderWidth: 0
}]
},
options: {
cutoutPercentage: 70,
tooltips: {
enabled: false
} // Optional: Disable tooltips to prevent hover issues
}
});
};



Подробнее здесь: https://stackoverflow.com/questions/791 ... etween-the
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Диаграмма JS кольцевая с закругленными краями в одном направлении и белой рамкой между сегментами
    Anonymous » » в форуме Jquery
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Пончик с закругленными в одну сторону краями и белой каймой между сегментами.
    Anonymous » » в форуме Jquery
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Простая кольцевая диаграмма CSS3
    Anonymous » » в форуме CSS
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Диалоговое окно «Создать треугольник с закругленными краями»
    Anonymous » » в форуме CSS
    0 Ответы
    47 Просмотры
    Последнее сообщение Anonymous
  • Как создать эффект полукруглого выреза с закругленными краями? [закрыто]
    Anonymous » » в форуме CSS
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Jquery»