OK, I used @Jeannot_Muller OverrideOptions code as a starting point:
var injectionTitleChild as new jsonItem
var injectionTitle as new jsonItem
injectionTitleChild.value("display") = true
injectionTitleChild.value("text") = "myExample"
injectionTitleChild.value("fontSize") = 20
injectionTitleChild.value("fontColor") = "#0096ff"
options.value("title") = injectionTitleChild
var injectionValue as new jsonItem
var injectionTicks as new jsonItem
var injectionyAxes as new jsonItem
var injectionScales as new jsonItem
injectionValue.value("stepSize") = 0.5
injectionValue.value("beginAtZero") = false
injectionTicks.value("ticks") = injectionValue
injectionyAxes.add injectionTicks
injectionScales.value("yAxes") = injectionyAxes
var interim as string = injectionScales.ToString
options.value("scales") = injectionScales
Then put the following in the Shown event of the chart:
var exec() as String
exec.Add( "var chartObj = XojoWeb.getNamedControl('" + me.ControlID + "').mChartObj;" )
exec.Add( "chartObj.options.scales.yAxes[0].ticks.callback = function(value, index, values) {" )
exec.Add( " return value.toLocaleString('fr', {minimumFractionDigits: 2});" )
exec.Add( "};" )
exec.Add( "chartObj.update();" )
ExecuteJavaScript( String.FromArray( exec, "" ) )
You can obviously swap out the 'fr'
on line 2 with Session.LanguageCode, or the minimumFractionDigits with a more appropriate value for your use.
exec.Add( " return value.toLocaleString('fr', {minimumFractionDigits: 2});" )
And here’s the resulting Y axis.