tracプラグインのデータを視覚化する必要があります。したがって、Open Flash Charts 2を使用したいと思います。これに従おうとすると、期待どおりにうまくいきませんでした。
質問
Chartdataは表示されません。唯一の出力は、OFCによる読み込みアニメーションです。チュートリアルのhtml-sourceもすべて同じように見えます。
JSONデータをチャートにロードするにはどうすればよいですか?
追加情報
処理したデータを入力するテンプレートを作成しました。
CHART_TEMPLATE = Template(
'''
<script type=\"text/javascript\" src=\"$json_path/json2.js\">
</script>
<script type=\"text/javascript\" src=\"$js_path/swfobject.js\">
</script>
<script type=\"text/javascript\">
swfobject.embedSWF(\"$ofc_path/open-flash-chart.swf\",
\"$chartname\", \"$width\", \"$height\", \"9.0.0\");
function open_flash_chart_data()
{
alert('reading data');
return JSON.stringify($json_chart_data);
}
function ofc_ready()
{
alert('ofc_ready');
}
</script>
<div id=\"$chartname\"></div>
'''
)
データはOpenFlashCharts pythonを使用してJSONに変換されますが、これはうまく機能しているようです。
def chartdata_from_timetable(self, dict, title):
'''
creates chartdata in JSON-format from 2 dim dictionary
'''
elements = []
x_labels = []
dc = DateConversion.DateConversion()
# if startdate on a weekend, startdate might
not be inluced in the dict->
choose next monday
for key in timetable[startdate]:
element = Chart()
element.type = "line"
element.text = key
values = []
for date in dict:
values.append(dict[date][key])
x_labels.append(string_from_date(date))
element.values = values
elements.append(element)
chart = Chart()
chart.x_axis.labels = x_labels
chart.title.text = title
chart.elements = elements
return chart.create().encode()
その後、次のデータが返されますが、欠落しているものはないようです。
CHART_TEMPLATE.safe_substitute(js_path = config['js_dir'],...,
json_chart_data = chart_data)