2017-03-16 14 views
-1

システムのパフォーマンスを表示するグラフを作成しようとしています。私の問題は、Higchartsが、何らかの理由で、私が複数のシリーズを持っていることを認識しないということです。最初のシリーズは完全に表示されますが、2番目のシリーズは見えない場所です。 Django 1.8を使用して辞書からデータをループしています。ハイチャートで第2シリーズが表示されない

マイシリーズコード:

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 
    }, 
] 
+0

なぜ私はシリーズの表示をfalseに設定しましたか?私は驚いています。 –

+0

Visibleグラフを最初に読み込んだときにシリーズを非表示にするにはどうすればいいですか?表示されているかどうかに関係なく、シリーズを表示または非表示にできる凡例に表示する必要があります。http://api.highcharts.com/highcharts/plotOptions.series.visible –

+0

問題は再作成できません。getFillColor/getLineColor正しく動作します。 http://jsfiddle.net/tru0psqL/1/を調整することができます - あなたは、シリーズが隠されており、その可視性がトグルできることがわかります。 – morganfree

答えて

0

あなたが明示的にこれを使用することにより、凡例の系列を表示しないようにチャートを言っている:

linkedTo: "Run" + {{forloop.counter}} 

2つのシリーズがリンクされている場合は、最初のリンクのみ伝説に現れます。 これを表示/非表示にすると、リンクされた系列が切り替わります。

参考:

第二のループからlinkedToプロパティを削除し、それが正常に動作する必要があります。

+0

試行錯誤しました。 linkedToには目的があります。私はそれがタスクが実行されているときに表示するために使用しています。私がしようとしているのは、リンクされたシリーズと共にランを表示することです。実行を表示すると、実行中のタスク情報も表示されます。私は別の非常に似たグラフでこのメソッドを使用しました。問題は、2番目のループからのデータが表示されていないことです。 –

+0

1) "試して失敗しました"どのように?具体的にする。 2)linkedToは、凡例からシリーズを隠すので、目的を持っているかどうかにかかわらず、記述した動作が原因であり、それは意味します。 – jlbriggs

+0

元のポストに戻って、最初のループの出力を表示するように見えますが、2番目のループの出力は表示されません。 2番目のループから何も出力されていませんか?その場合、チャートコードを一切見る必要はありません。そうでない場合は、出力を表示してください。 – jlbriggs

関連する問題