Круговая диаграмма GoogleJquery

Программирование на jquery
Ответить
Anonymous
 Круговая диаграмма Google

Сообщение Anonymous »

Мне нужно построить полукруговую диаграмму с 7 значениями, но она не работает, на графике отображаются не все значения.
Моя диаграмма такая, но она отображается неправильно, и указатель не работает
введите описание изображения

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

function exibirChart(obj) {
// Configurações padrão do gráfico
let configuracoes = {
containerId: 'containerChartMetas',
totalProduzido: 0,// Total produzido
metaComissao: 0,// Meta 1
metaBonus: 0,// Meta 2
meta3: 0, // Meta 3
nivel0: 0,// Nível 0 não atingiu a meta
nivel1: 0,// Nível 1 não atingiu a meta
nivel2: 0,// Nível 2 não atingiu a meta
nivel3: 0,// Nível 3 não atingiu a meta
valorMaximoTotal: 100, // Valor máximo total
valorMinimoTotal: 0,// Valor mínimo total
espessuraPonteiro: 2,// Espessura do ponteiro
cores: { // Cores do gráfico
abaixoMeta: '#ff6c6c', /*vermelho*/
metaComissao: '#dee083', /*verde claro Meta 1*/
metaBonus: '#97cd7e', /*verde medio Meta 2*/
meta3: '#64bd7b', /*verde escuro*/
nivel3:'#faea81',/*amarelo */
nivel2:'#ffb17a',/*laranja */
nivel1:'#f79171',/*salmão */
nivel0:'#f96a6e',/*vermelho claro */
ponteiro: '#3a3a3a'
},
legendas: {// Legendas do gráfico
abaixoMeta: '',
metaComissao: '',
metaBonus: '',
meta3: '',
nivel0: '',
nivel1: '',
nivel2: '',
nivel3: '',
},
...obj
}

// Adiciona classe 'show' ao contêiner do gráfico
$('#' + configuracoes.containerId).addClass('show');
if (configuracoes.metaBonus === 0 && configuracoes.valorMaximoTotal === 0 && configuracoes.meta3 === 0) {
configuracoes.valorMaximoTotal = configuracoes.metaComissao * 1;
configuracoes.meta3 = configuracoes.valorMaximoTotal;
} else if (configuracoes.meta3 === 0 && configuracoes.valorMaximoTotal === 0 && configuracoes.metaBonus > 0) {
configuracoes.valorMaximoTotal = configuracoes.metaBonus * 1;
configuracoes.meta3 = configuracoes.valorMaximoTotal;
} else if (configuracoes.metaComissao > configuracoes.metaBonus) {
$('#' + configuracoes.containerId + ' .container-chart').html('O valor da meta 2 precisa ser maior do que o valor da meta 1.')
return false;
} else if (configuracoes.metaComissao > configuracoes.meta3) {
$('#' + configuracoes.containerId + ' .container-chart').html('O valor da meta 3 precisa ser maior do que o valor da meta 1.')
return false;
} else if (configuracoes.metaComissao >  configuracoes.metaBonus) {
$('#' + configuracoes.containerId + ' .container-chart').html('O valor da meta 2 precisa ser maior do que o valor da meta 1.')
return false;
}

// Calcula a espessura do ponteiro
const espessuraPonteiro = (configuracoes.espessuraPonteiro * configuracoes.valorMaximoTotal) / 100;

/*Valores dos niveis abaixo das metas*/
let totalParcial = 0;
totalParcial = (configuracoes.metaComissao) / 4;
/*Valores dos niveis abaixo das metas*/

// Inicializa o contador
let contador = configuracoes.valorMinimoTotal;

// Define o intervalo para atualização do gráfico
const intervalo = setInterval(function () {
contador += configuracoes.totalProduzido / 3;

// Verifica se o contador atingiu o total produzido
if (contador >= configuracoes.totalProduzido) {
contador = configuracoes.totalProduzido;
clearInterval(intervalo);
}

// Calcula o percentual do valor atual em relação à meta de comissão
const valorPercentual = contador * 100 / configuracoes.metaComissao;
const stringPercentual = valorPercentual.toFixed(1).replace('.', ',') + '%';

// Atualiza as informações no HTML
$('#' + configuracoes.containerId + ' .chart-valor-percentual').text(stringPercentual);
$('#' + configuracoes.containerId + ' .chart-valor-minimo').text('R$ ' + parseInt(configuracoes.valorMinimoTotal).toString().replace(/\B(?  (configuracoes.valorMaximoTotal - configuracoes.meta3) / 3 ? configuracoes.legendas.meta3 : ''), configuracoes.valorMaximoTotal - configuracoes.meta3],

//Ponteiro
['', espessuraPonteiro],

[(contador - configuracoes.meta3 

Подробнее здесь: [url]https://stackoverflow.com/questions/78480314/google-pie-chart[/url]
Ответить

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

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

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

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

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