B4A Library Google Charts

This library will allow you to create nice charts using the Google Charts API.

Requirements:

1- B4A 4.3x.

2- The CloudPrint library.

3- The WebViewExtras library.

4- Internet connection.

5- Copy the GoogleCharts.xml and GoogleCharts.jar to your additional libraries directory.


Usage:
Code:
'Initialize the library
Private gChart As GoogleCharts

gChart.Initialize(ChartView, Me, "Chart", True)

gChart.AddOnlineCustomFontToChart = "Roboto:100" 'The font name is CASE SENSITIVE.

gChart.PieChartTitle = "My daily activities (hours)"
gChart.PieChartTitleStyle("purple", "roboto", 30, False, True)
gChart.PieChartLegend("right", "blue", "roboto", 20, False, False)
gChart.PieChart3D = True
gChart.PieChartSliceText = "percentage"
gChart.PieChartSliceLabelAndValue("Work", 11)
gChart.PieChartSliceLabelAndValue("Eat", 2)

gChart.PieChartSliceLabelAndValue("Commute", 2)
gChart.PieChartSliceLabelAndValue("Watch TV", 2)
gChart.PieChartSliceLabelAndValue("Sleep", 7)
gChart.PieChartSetSliceOffset("Watch TV", 3)


gChart.ShowPieChart

The charts included are:

- Pie (3D and Donut).
- Bar.
- Combo (Bar, Area, Stepped Area, Line).
- Histogram.
- Scatter.
- Bubble.
- Geo.


Features:

- Use custom fonts (Online fonts via Google Fonts or local).
- Save charts.
- Print charts.


For more details about the use of this library please check the attached project.

You can try the attached APK if you just want to see what the library can do.
 

Attachments

Take a look at the below link, Google line chart displays vertical and horizontal gridlines. The rest of us have been accustomed to challenge someone like you to figure it out because of your vast knowledge. We have been spoiled with powerhouses like you. With or without offering that option, your lib is still very useful and deserves great accolade.
https://developers.google.com/chart/interactive/docs/gallery/linechart
Good day, as from the link, can you briefly explain how to use the curveType:function in B4A? I'm new to this and i always got in a confusion between Java codes and B4A codes :oops:
 
It would have been nice if the graph generated by NJDude's lib displays vertical gridlines that intersect the X value axis. It would add better readability for the chart. See the chart that is generated by the lib and the other chart where I manually added the vertical gridlines.
Sir, how did you create the SavedChart.png chart? Can i have a look at the codes?
 
If you are using this library, set the curve type to "function":
Code:
gChart.ComboChartDefaultCurveType = "function"

If you want an example, check the attached project to THIS post.
Thank you sir. However, is it possible to do so with ScatterChart?
 
Have you seen the example I attached to the first post?
Yes sir, for ScatterChart the polynomial function was used. Wonder if there is any other function available?
By the way, sir, if you would, is it possible for 2 values in 1 column?

means at x, y=15
x, y=-5

gChart.ComboChartSetColumnValues(x, comboData5)
 
Hi Njude and big thank for you lib

It is possible add "RadarChart (spider web chart)" ? maybe it's not easy !

https://github.com/PhilJay/MPAndroidChart

spider.png
 
Thanks for the library.

Just tested on the apk, clicked different charts, but after clicked for a few times, chart didn't showed, just blank screen.

Restarted app again fix the problem, but after a few clicked again, same problem came, blank screen.
 
java.io.FileNotFoundException: /mnt/sdcard/Android/data/se.iqpd.checkout.plus/files/NJDudeTempChart.png: open failed: ENOENT (No such file or directory)

Hi, am i lacking some kind of permission?

I trying to save the generated Graph inside...

Code:
Sub Chart_ChartGenerated_Response

    ProgressDialogHide
    Chart.SaveChart(FileHandling.CheckoutFolder & "/Charts/", "SavedChart.png")

End Sub
 
Back
Top