Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

140
Visualizações
Trying to use Javascript Function in AmCharts4 Barchart to convert number of days to years and months

I am adding some charts to a cakephp4 app using amcharts 4.

I have an amCharts4 bar chart that shows the number of days that I need to convert to

<years> years, <months> months, <days> days

in my source data I have an "amount" column that contains the number of days, for example 500. I need that to show up as '1 year, 4 months, 15 days. I am using a JS function getFormatedStringFromDays(numberOfDays) which works great.

I'm trying to set a var to be used in the function - I've tried Number(), parseInt(), etc. trying to get the var mypreconvertednumber to be seen as a number. Every attempt I make produces NaN - I can assign mypreconvertednumber a number (like var mypreconvertednumber = 500;) and of course it works fine.

My source data looks like this (amount is the number I'm trying to convert in the label):

barchart1.data = [{
        "type": "Last Check In",
        "amount": 500
},

var mypreconvertednumber = "{values.valueX.workingValue.formatNumber('#')}";

var valueLabel = series.bullets.push(new am4charts.LabelBullet());
valueLabel.label.text = getFormatedStringFromDays(mypreconvertednumber);
valueLabel.label.horizontalCenter = "left";
valueLabel.label.fontSize = 10;
valueLabel.label.truncate = false;
valueLabel.label.hideOversized = false;
valueLabel.label.dx = 5; 

I'm hoping someone can point me to an amcharts built-in function to process the value label text like in amcharts 3.

"labelFunction": function(data) {
    return getFormatedStringFromDays(data);
},

I have been scouring the docs - and probably looked right past the option I need. Thank you for any help any of you can give me to help solve this.

The function works when I place a number like:

getFormatedStringFromDays('500') // will return 1 year, 4 months, 15 days. 

But when I try to use the var mypreconvertednumber = "{values.valueX.workingValue.formatNumber('#')}"; the function returns NaN - ive tried using Number(), parseInt() to attempt to make sure its a number but always get NaN.

getFormatedStringFromDays(mypreconvertednumber) // produces NaN  - even though the source data amount is: 500 
barchart1.data = [{ "type": "Last Check In", "amount": 500 },...]
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda