0

所以我正在尝试使用 PyChartJS 模块,到目前为止我有这个。这是饼图的类:

class newPieChart(BaseChart):

def setData(self, _data: dict):
    self.data.data = [_ for _ in _data.values()]
    return

def setLabels(self, _labels: list):
    self.labels.labels = [_ for _ in _labels]
    return

type = ChartType.Pie

class labels:
    labels = []

class data:
    data = []

我正在用setData()数据填充图表

{'Allowance': 20.0, 'Bonus': 30.0, 'Other': 80.0, 'Salary': 300.0}

现在,每当我尝试newPieChart.get()获取在 JS 中渲染所需的 JSON 时。这是它返回的内容:

{'type': 'pie', 'data': {'labels': [], 'datasets': [{'data': [20.0, 30.0, 80.0, 300.0]}]}, 'options': {'plugins': {}}}

然而,该图表不会呈现,因为它在我的 JS 代码中是这样显示的:

{'type': 'pie', 'data': {'labels': [], 'datasets': [{'data': [20.0, 30.0, 80.0, 300.0]}]}, 'options': {'plugins': {}}}

我的问题是,如何正确呈现此图表?我该如何解决?这就是我在 JavaScript 代码中实现它的方式:

var ctx = document.getElementById('expense').getContext('2d');
var expensechart = new Chart(ctx, {{=chart}})
4

1 回答 1

1

我通过调用内置XML()助手解决了这个问题

var expensechart = new Chart(ctx, {{=XML(chart)}})

这解决了 JSON 在 HTML 中无法正确呈现的问题

于 2020-12-18T14:07:11.117 回答