跳转到主要内容

这是一个围绕Google Chart API的薄包装器,它试图不发明一种新的语言来描述图表。

项目描述

django-chart-tools是一个简单的应用程序,用于使用Google Chart API在django模板中创建图表。它不像其他Google Chart API包装器那样试图发明另一种定义图表的语言。相反,它使利用现有的用户友好的图表构建工具(如http://dexautomation.com/googlechartgenerator.php)变得容易。

安装

$ pip install django-chart-tools

或者

$ easy_install django-chart-tools

或者从bitbucket(https://bitbucket.org/kmike/django-chart-tools)获取最新版本

然后将‘chart_tools’添加到您的INSTALLED_APPS中。

用法

  1. 使用http://dexautomation.com/googlechartgenerator.php或遵循API文档https://developers.google.com/chart/image/docs/gallery/chart_gall生成您喜欢的图表。

  2. 将输出复制并粘贴到模板中,并用{% chart %} … {% endchart %}标签包裹

    {% load chart_tags %}
    {% chart %}
        http://chart.apis.google.com/chart
           ?chxr=0,0,160
           &chxt=y
           &chbh=a
           &chs=440x220
           &cht=bvs
           &chco=4D89F9
           &chds=0,160
           &chd=t:10,50,60,80,40,60,30
           &chtt=Horizontal+bar+chart
    {% endchart %}

    在渲染后,您将在模板中获得包含生成的图表的<img/>标签。

  3. chart标签还允许清理后的上述示例版本

    {% load chart_tags %}
    {% chart %}
         chxr=0,0,160
         chxt=y
         chbh=a
         chs=440x220
         cht=bvs
         chco=4D89F9
         chds=0,160
         chd=t:10,50,60,80,40,60,30
         chtt=Horizontal+bar+chart
    {% endchart %}
  4. 将测试数据替换为您的真实数据。例如,我们想提供真实值。在Image Chart编辑器中更改测试数据。我们将更改的参数将突出显示。在我们的例子中是‘chd’。因此,我们现在将‘chd’数据替换为来自视图的真实数据

    {% load chart_tags %}
    {% chart %}
         chxr=0,0,160
         chxt=y
         chbh=a
         chs=440x220
         cht=bvs
         chco=4D89F9
         chds=0,160
         chd=t:{{ values|join:',' }}
         chtt=Horizontal+bar+chart
    {% endchart %}

这就完成了。

还有来自Google的最新API参考:[https://developers.google.com/chart/image/docs/chart_params](https://developers.google.com/chart/image/docs/chart_params)

什么是{% chart %}标签?

我发现直接复制粘贴的<img> HTML标签,一些{{变量}}难以维护和阅读,因此引入了{% chart %}。

  1. 它删除所有空白字符;

  2. 从参数列表构建图表URL;

  3. 生成带有正确‘src’、‘width’和‘height’属性的<img>标签;

因此生成的图表可以很好地格式化,并且以后可以维护。

可重用图表标签

一旦创建了您喜欢的图表,您可能希望多次使用它。首选方法是围绕您的模板编写包含模板标签。

from django import template
register = template.Library()

@register.inclusion_tag('chart_tools/bar_chart.html')
def bar_chart(values, captions, size='580x100', max_value=None):
    max_value = max_value or max(values)
    return {
        'values': values,
        'captions': captions,
        'size': size,
        'max_value': max_value,
    }

此示例bar_chart标签包含在django-chart-tools中。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

django-chart-tools-1.0.tar.gz (5.1 kB 查看散列)

上传时间

由...