Javascript 第二个系列未在Highcharts中显示
我试图创建一个图表来显示系统的性能。我的问题是,出于某种原因,Higcharts不会承认我有多个系列。第一个系列完美地展示了,但是第二个系列在哪里都看不到。 我正在使用Django 1.8循环字典中的数据 我的系列代码:Javascript 第二个系列未在Highcharts中显示,javascript,python,django,highcharts,Javascript,Python,Django,Highcharts,我试图创建一个图表来显示系统的性能。我的问题是,出于某种原因,Higcharts不会承认我有多个系列。第一个系列完美地展示了,但是第二个系列在哪里都看不到。 我正在使用Django 1.8循环字典中的数据 我的系列代码: series: [ {% for ID, run in attDict.items|sort %} { yAxis: 0, id: "Run" + {{forloop.counter}}, name: "RunID
series: [
{% for ID, run in attDict.items|sort %}
{
yAxis: 0,
id: "Run" + {{forloop.counter}},
name: "RunID " + {{ID}},
color: getLineColor({{ID}}),
data: {{run}},
marker: {
fillColor: getFillColor({{forloop.counter}}),
},
visible: false
},
{% endfor %}
{% for key, task in TaskE.items|sort %}
{
yAxis: 1,
id: "during",
linkedTo: "Run" + {{forloop.counter}},
name: "Duringtask for run " + {{key}}
type: 'area',
color: '#12e000',
fillOpacity: 0.3,
data: {{task}},
visible: fasle
}{% if forloop.last %}{% else %},{% endif %}
{% endfor %}
]
输出如下所示:
series: [
{
yAxis: 0,
id: "Run" + 1,
name: "RunID " + 250,
color: getLineColor(250),
data: [0, 0, 0, 0, 0, 0, 6, 33, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
marker: {
fillColor: getFillColor(1),
},
visible: false
},
{
yAxis: 0,
id: "Run" + 2,
name: "RunID " + 256,
color: getLineColor(256),
data: [0, 0, 0, 1, 0, 0, 0, 0],
marker: {
fillColor: getFillColor(2),
},
visible: false
},
{
yAxis: 0,
id: "Run" + 3,
name: "RunID " + 257,
color: getLineColor(257),
data: [0, 0, 0, 1, 0, 0, 0, 0],
marker: {
fillColor: getFillColor(3),
},
visible: false
},
{
yAxis: 0,
id: "Run" + 4,
name: "RunID " + 265,
color: getLineColor(265),
data: [83, 0, 101, 0, 0, 96, 0],
marker: {
fillColor: getFillColor(4),
},
visible: false
},
{
yAxis: 0,
id: "Run" + 5,
name: "RunID " + 295,
color: getLineColor(295),
data: [14, 3, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 37, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 3, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0],
marker: {
fillColor: getFillColor(5),
},
visible: false
},
{
yAxis: 0,
id: "Run" + 6,
name: "RunID " + 296,
color: getLineColor(296),
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 1, 0, 0, 0, 0, 28, 15],
marker: {
fillColor: getFillColor(6),
},
visible: false
},
]
通过使用以下命令,您明确告知图表不要在图例中显示序列:
linkedTo: "Run" + {{forloop.counter}}
链接两个系列时,图例中仅显示第一个系列。
切换此项的可见性也会切换链接的系列
参考:
从第二个循环中删除
linkedTo
属性,它应该可以正常工作。为什么为序列设置visible:false?我很惊讶,它会显示任何一个序列visible,设置为false只是为了在首次加载图时隐藏序列。无论是否可见,该系列都应显示在图例中,可以在图例中打开或关闭。您的问题不可重现-不带getFillColor/getLineColor的配置正常工作。你能调整小提琴吗?你可以看到这个系列是隐藏的,它们的可见性是可以切换的。@morganfree对不起,看来我不是很清楚。第一个循环中的所有数据都正确显示,就像小提琴一样。它是第二个循环,用于显示不会出现的真值或假值(1或0)。第一个循环有效。已尝试但失败。linkedTo是有目的的。我用它来显示任务何时运行。我试图做的是显示一个与链接序列一起运行的序列。因此,当显示运行时,也会显示任务期间的信息。我在另一个非常类似的图中使用了这个方法。问题是没有显示来自第二个循环的数据。1)以何种方式“尝试并失败”?具体点。2) linkedTo将从图例中隐藏该系列,因此,无论它是否有目的,它都会导致您描述的行为,并且是有意的。回到原始帖子,您似乎显示了第一个循环的输出,但没有显示第二个循环的输出。第二个循环根本没有输出任何内容吗?如果是这样,那么我们根本不需要查看图表代码。如果没有,则显示输出。我删除了linkedTo属性,没有任何更改。linkedTo仅仅意味着如果我想查看第二个循环中的数据,我需要单击图例项来显示运行。理论上,linkedTo属性也应该显示链接的数据。如果您查看上面的代码,您可以看到在输出中,根本没有来自第二个循环的序列的迹象。上面显示的是系列[]的整个片段OK,所以这与“图表不显示系列”是完全不同的问题。问题似乎是循环没有输出任何东西。您需要检查循环的输入,确保它们包含预期的内容,并将循环与图表分开进行测试,以找出它没有输出任何内容的原因。