Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

137
Vistas
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 la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda