About
RGraph is a JavaScript charts library based on HTML5 SVG and canvas. RGraph is mature (over 15 years old) and has a wealth of features making it an ideal choice to use for showing charts on your website.

More »

 

Download
Get the latest version of RGraph (version 6.18, 1st June 2024) from the download page. You can read the changelog here. There's also older versions available, minified files and links to cdnjs.com hosted libraries.

More »

 

License
RGraph can be used for free under the GPL or if that doesn't suit your situation there's an inexpensive (£129) commercial license available.

More »

I can't fetch the correct number from a swedish Google sheet


Posted by Magnus at 01:52 on Saturday 19th February 2022 [link]
Hi, I'm fetching numbers from a GoogleSheet with swedish/european formating. This formating include thousands delimiter with a space. RGraph.pie interpret 1 000 as 1.000 making the charts erroneous.
Is there anything to be done?
/Magnus

Posted by Richard at 09:49 on Saturday 19th February 2022 [link]
You'll need to do a little post-processing on the data of your own.

So you can loop through the data that you fetch from the Sheet doing this (within the Sheets callback function):

var row = sheet.get('A1:A7');

for (var i=0; i<row.length; ++i) {
    row[i] = Number(String(row[i]).replace(/\s/, ''));
}

That will remove all space characters from the numbers.

Posted by Magnus at 02:37 on Sunday 20th February 2022 [link]
Thanks for Your response, I?m a tottal noob regarding JS so I hope I can get some more help. I use this code:
function (sheet)
{
var data = sheet.get('J23:J27');
var labels = sheet.get('I23:I26');
var row = sheet.get('J23:J27');

for (var i=0; i<row.length; ++i) {
row[i] = Number(String(row[i]).replace(/\s/, ''));
}

for (var i=0; i<labels.length; i+=2) {
labels[i] = "\n" + labels[i];
}
but it still will not remove the space characters.
many thanks
/Magnus

Posted by Richard at 10:58 on Sunday 20th February 2022 [link]
Try this:

function (sheet)
{
    var data = sheet.get('J23:J27');
    var labels = sheet.get('I23:I26');

    for (var i=0; i<data.length; ++i) {
        data[i] = Number(String(data[i]).replace(/\s/, ''));
    }

    for (var i=0; i<labels.length; i+=2) {
        labels[i] = "\n" + labels[i];
    }
}

Posted by Richard at 13:27 on Tuesday 22nd February 2022 [link]
How did that work out for you?

Posted by Magnus at 01:45 on Thursday 3rd March 2022 [link]
Still no luck I'm afraid. I have created a minimal test-case if the trouble is something else. Please have a look if possible
the chart - [LINK REMOVED]
the sheet - [LINK REMOVED]

I'm very grateful for any help
/ Magnus

Posted by Richard at 11:30 on Thursday 3rd March 2022 [link]
This CodePen shows all four Pie charts:

[LINK REMOVED]

Posted by Magnus at 00:59 on Friday 4th March 2022 [link]
Thank You! It works & looks beautiful :)
/ Magnus

[Replies are closed]