Всем Привет.
Нужна помощь.
Нужно,что бы круговая диаграмма(аля donut chart) была закрашена в соответствии с указанными процентами. И использовать только 2 цвета.
Тоесть если у нас 38%, то 38% должны быть закрашены в синий,а 62% в белый.
И всё это нужно написать с помощью Aura)
Буду благодарна за идеи,как это реализовать.
Maria_Kislukhina:
donut chart
Как вариант, диаграмма на чистом css. Разберитесь с разметкой и в нужных местах поставьте переменные и меняйте динамически:
https://codepen.io/hilar47/pen/RprXev
2 Вподобання
не уверен, что в ауре есть стандартный компонент для такого.
так что нужно найти какую-нибудь JS библиотеку, которая рисует такие бублики,
и попробовать прикрутить ее к ауре
это не круговая диаграмма
Как раз таки это круговая диаграмма, значение которой задается в js, а цвет и размер можно отрегулировать стилями
Можно использовать chart.js библиотеку, тогда вся диаграмма будет очень гибкой и настраиваемой.
Например, вот код для диаграммы с ассетами по количеству активных/неактивных
import { loadScript } from 'lightning/platformResourceLoader';
import LIB_CHART_JS from "@salesforce/resourceUrl/chart_js_lib";
const getChartConfig = (activeCount, inactiveCount) => {
return {
type: 'doughnut',
data: {
labels: ["Active", "Inactive"],
datasets: [{
label: "",
data: [activeCount, inactiveCount],
backgroundColor: ["rgb(75, 202, 129)","rgb(236, 112, 146)",],
cutout: "20%",
}],
},
options: {
plugins: {
legend: { display: true, position: "left", align: "end", labels: { usePointStyle: true, pointStyle: 'circle',},},
tooltip: { enabled: true,},
labels: {render: 'value', fontColor: '#fff', },
},
responsive: false,
},
};
}
export default class AssetChart extends LightningElement {
@api activeCount;
@api inactiveCount;
// code to get the data and load chart.js, then call this.initChartData()
initChartData = () => {
let canvas = this.template.querySelector("canvas");
const chartConfig = getChartConfig(this.activeCount, this.inactiveCount);
this.chartEngine = new window.Chart(canvas, chartConfig);
}
}
1 Вподобання