File "rendering_column2d_chart_using_dictionary_example.py"
Full Path: /home/analogde/www/php/integrations/django/samples/fusioncharts/samples/rendering_column2d_chart_using_dictionary_example.py
File size: 2.2 KB
MIME-type: text/x-script.python
Charset: utf-8
from django.shortcuts import render
from django.http import HttpResponse
from collections import OrderedDict
# Include the `fusioncharts.py` file that contains functions to embed the charts.
from ..fusioncharts import FusionCharts
# Loading Data from a Ordered Dictionary
# Example to create a column 2D chart with the chart data passed as Dictionary format.
# The `chart` method is defined to load chart data from Dictionary.
def chart(request):
# Chart data is passed to the `dataSource` parameter, as dictionary in the form of key-value pairs.
dataSource = OrderedDict()
# The `chartConfig` dict contains key-value pairs data for chart attribute
chartConfig = OrderedDict()
chartConfig["caption"] = "Countries With Most Oil Reserves [2017-18]"
chartConfig["subCaption"] = "In MMbbl = One Million barrels"
chartConfig["xAxisName"] = "Country"
chartConfig["yAxisName"] = "Reserves (MMbbl)"
chartConfig["numberSuffix"] = "K"
chartConfig["theme"] = "fusion"
# The `chartData` dict contains key-value pairs data
chartData = OrderedDict()
chartData["Venezuela"] = 290
chartData["Saudi"] = 260
chartData["Canada"] = 180
chartData["Iran"] = 140
chartData["Russia"] = 115
chartData["UAE"] = 100
chartData["US"] = 30
chartData["China"] = 30
dataSource["chart"] = chartConfig
dataSource["data"] = []
# Convert the data in the `chartData` array into a format that can be consumed by FusionCharts.
# The data for the chart should be in an array wherein each element of the array is a JSON object
# having the `label` and `value` as keys.
# Iterate through the data in `chartData` and insert in to the `dataSource['data']` list.
for key, value in chartData.items():
data = {}
data["label"] = key
data["value"] = value
dataSource["data"].append(data)
# Create an object for the column 2D chart using the FusionCharts class constructor
# The chart data is passed to the `dataSource` parameter.
column2D = FusionCharts("column2d", "ex1" , "600", "400", "chart-1", "json", dataSource)
return render(request, 'index.html', {'output' : column2D.render(), 'chartTitle': 'Simple Chart Using Array'})