3
我目前正在構建一個我想要顯示直方圖的應用程序。問題是我無法用zingchart正確渲染直方圖......我希望scale-x的刻度位於數據點的每一邊,而不是以它們爲中心,因爲它們表示直方圖區域的邊界。如何正確繪製ZingChart的直方圖?
下面是使用numpy包中的直方圖函數計算數據以創建直方圖的python函數。
from numpy import histogram
def graph(self):
results = sorted(results, key=lambda x: mark)
marks = [result.mark for result in results]
maximum = 20
divisor = maximum
step = maximum/divisor
data, bin_edges = histogram(a=marks, range=(0, maximum), bins=divisor)
data = data.tolist()
return {'data': data, 'divisor': divisor, 'maximum': maximum, 'step': step}
然後將該直方圖數據在視圖中用於呈現誠圖表圖形(這是一個Jinja2的模板,因爲我用瓶的框架):
<script>
var chartData = {
"type": "bar",
"plot": {
"aspect": "histogram",
},
"plotarea": {
"adjust-layout": true,
},
"series": [
{"values": {{ graph['data'] }}},
],
"scale-x": {
"progression": "lin",
"min-value": 0,
"max-value": {{ graph['maximum'] }},
"step": {{ graph['step'] }},
"decimals": 1,
},
};
zingchart.render({
"id": "graph1",
"data": chartData,
"width": "100%",
"height": "400px",
});
</script>
好的,也許我有點不清楚。蜱正確放置,但標籤集中在酒吧下方,我希望它們以蜱爲中心。我正在處理標記,所以如果我們將圖表視爲輸出,則第一個條形表示標記介於0和1之間的學生的編號。 – natolh
這裏是[JSON輸出](https://codeshare.io/5iYDI)由應用程序。 – natolh
我將編輯答案以包含解決方案 –