为什么你想打印subject_type
in x-axis
? The axes
图表通常用于测量。轴可以是线性轴、对数轴、日期时间轴或类别轴。
根据我的理解,你想展示每个subject_type
as a series name
.
If No
尝试这个
xAxis: {
categories: '<%=raw @subjects.to_json %>'
}
If Yes
尝试这个
高图系列 http://www.highcharts.com/docs/chart-concepts/seriesobject 是一个数组,这意味着它可以包含多个系列。这name
属性给出了该系列的名称。这data
属性代表系列值。
这意味着我们的series
一定是这样的。
series: [
{name: 'Subject Type 1', data: [5] },
{name: 'Subject Type 2', data: [6] },
{name: 'Subject Type n', data: [n] },
]
你有一个Note
表有subject_type
柱子。每个note
必须包含一个subject_type
。你只需要找出uniqsubject_type
从而成为name
of the series
和总数subject_type
从而成为data
of the series
.
您可以通过执行以下操作来获取它:
def dashboard
@series_data = []
@notes = Note.select("id, subject_type, COUNT(*) AS total").group("id, subject_type")
# Collect series data that will be show
@notes.group_by(&:subject_type).each do |k, v|
@series_data << { name: k.titleize, data: [v.size] }
end
end
In your 仪表板.html.erb
series: <%=raw @series_data.to_json %>
正如我在上面看到的,您还需要图表title
。你可以用这种方式来做。
title: {
text: "<strong>Number of Notes By Class Module</strong>"
}
我希望这会有所帮助。