javascript - 使用 highchart 作为模板,多次使用不同的标题和不同的值

标签 javascript python django highcharts

嗨,我正在使用 highchart 来显示一个简单的饼图。下面是我的 JavaScript

    <script type="text/javascript">
    $(document).ready(function () {
    var options = {
    chart: {
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false
    },
    title: {
        text: 'Infoblox Project Resources'
    },
    tooltip: {
        pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
    },
    plotOptions: {
        pie: {
            allowPointSelect: true,
            cursor: 'pointer',
            dataLabels: {
                enabled: true,
                format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                style: {
                    color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                }
            }
        }
    },
    series: [{
        type: 'pie',
        name: 'Project share',
        data: [
            ['Bill',  {{ project }}],
            ['Non-Bill', {{ not_bill }}],

        ]
    }]
};
$('#dashboard').highcharts(options);
$('#dashboard1').highcharts(options);
});
    </script>

如果我想多次重复此图表,请点击此处。我怎样才能实现它。现在我使用 highchart 中的所有内容作为标准。除了 {{ project }} 和 {{ no_bill }} 。这两个都是整数值,将由 python 从 django pinax 渲染。

在这里,我想使用不同的标题和不同的 {{ project }} 和 {{ no_bill }} 值对图表进行 n 次

最佳答案

如何在 Highcharts.setOptions(options) 中设置所有选项(数据和标题除外),就像这里:http://www.highcharts.com/demo/column-basic/dark-unica

然后创建图表:

$('#dashboard').highcharts({
  title: { text: {{ mytext }} },
  series: [{
    type: 'pie',
    name: 'Project share',
    data: [
      ['Bill',  {{ project }}],
      ['Non-Bill', {{ not_bill }}],
    ]
  }]
});
$('#dashboard1').highcharts({
  title: { text: {{ mytext_2 }} },
  series: [{
    type: 'pie',
    name: 'Project share',
    data: [
      ['Bill',  {{ project_2 }}],
      ['Non-Bill', {{ not_bill_2 }}],
    ]
  }]
});

或者更好:

function createChart(container, text, valA, valB) {
  $(container).highcharts({
    title: { text: text },
    series: [{
      type: 'pie',
      name: 'Project share',
      data: [
        ['Bill',   valA ],
        ['Non-Bill', valB ],
      ]
    }]
  });
}

createChart('#dashboard', {{ mytext }}, {{ project }}, {{ not_bill }});
createChart('#dashboard1', {{ mytext_2 }}, {{ project_2 }}, {{ not_bill_2 }});

关于javascript - 使用 highchart 作为模板,多次使用不同的标题和不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23783479/

相关文章:

javascript - 在 HighCharts 的条形图中显示数组值

python - 将python sklearn概率估计制作成索引序列

Python 使用 pexpect 通过 scp 发送文件

django - 在 Django 中,symmetric=True 有什么作用?

python - 在 wagtail 的新窗口中打开外部链接

javascript - Promise.all().then() 转到 catch() 因为 then 不被识别

php - 防止使用 jQuery 进行 Ajax 时的默认操作

javascript - AngularJs - ng-options 在 ajax 调用后不绑定(bind)

python - 我的代码是错误的(str(1元素)列表转换为int)错误ValueError : invalid literal for int() with base 10: "[' 2']"

python - 带有单个参数的 Django NoReverseMatch