3
私はこれをiPad(3世代)でテストしました。折れ線グラフは完全に滑らかに見えます。iOS網膜ディスプレイ用にFlotを設定する方法
http://justindarc.github.com/flot.touch/example/index.html
私は自分のFLOTコードとコードを差分の試してみましたが、それは網膜モードで実行させるような任意の有意な差を見ることができません。彼のコードと同じで、私のフロートはバージョン0.7です。何が私の自分のチャートを試しても網膜以外のモードで実行されます。
網膜モードを実行するトリックとは何ですか?
セットアップコードがかなり長いです。
私はこのようなjquery.flot.jsを変更したfunction setup_chart0(setup_options) {
var point_data = [];
if(setup_options.use_sample_data_for_chart0) {
point_data = generate_dummy_data(
setup_options.timestamp_generate_min,
setup_options.timestamp_generate_max
);
}
var average_data = henderson23(point_data);
var datasets = make_chart0_datasets(point_data, average_data);
if(is_dualaxis_detail_mode) {
datasets = make_chart0_dual_datasets(
[],
[],
[],
[]
);
}
var options = default_plot_options();
options.xaxis.min = setup_options.timestamp_visible_min;
options.xaxis.max = setup_options.timestamp_visible_max;
options.xaxis.panRange = [setup_options.timestamp_pan_min, setup_options.timestamp_pan_max];
options.yaxis.min = -0.025;
options.yaxis.max = 1.025;
options.yaxis.panRange = [-0.025, 1.025];
options.legend = { container: '#legend0', noColumns: 2 };
options.grid.markings = compute_markings_with_alertlevels;
if(is_dualaxis_detail_mode) {
options.y2axis = {};
options.y2axis.position = "right";
options.y2axis.min = -0.025;
options.y2axis.max = 1.025;
options.y2axis.panRange = [-0.025, 1.025];
options.legend = { container: '#legend_hidden', noColumns: 2 };
}
//save_as_file({ samples: point_data, average: average_data });
var el_placeholder0 = $("#placeholder0");
if(el_placeholder0.length){
//console.log('plotting chart 0');
var fade = false;
var el = el_placeholder0;
var el_outer = $("#placeholder0_outer");
var original_offset = el_outer.offset();
if(fade) {
el_outer.offset({ top: -5000, left: 0 }); // move plot container off screen
}
chart0 = $.plot(el, datasets, options);
if(fade) {
el.hide(); // hide plot - must do *after* creation
el_outer.offset(original_offset); // put plot back where it belongs
el.fadeIn('slow'); // fade in
}
/*var s = ' width: ' + chart0.width() + ' height: ' + chart0.height();
$('#label0').append(s);*/
if(solo_pan_mode) {
el.bind('plotpan', function (event, plot) {
set_data_should_redraw_chart0 = true;
set_data_should_redraw_chart1 = false;
set_data_should_redraw_chart2 = false;
fetch_data_for_chart(chart0, setup_options.timestamp);
show_loading_empty('#loader1');
show_loading_empty('#loader2');
});
el.bind('plotpanend', function (event, plot) {
set_data_should_redraw_chart0 = true;
set_data_should_redraw_chart1 = true;
set_data_should_redraw_chart2 = true;
copy_min_max(chart0, chart1, '#placeholder1');
copy_min_max(chart0, chart2, '#placeholder2');
hack_hide_loading_wheels = true;
maybe_hide_loading_wheels();
});
} else {
el.bind('plotpan', function (event, plot) {
fetch_data_for_chart(chart0, setup_options.timestamp);
sync_with_chart0();
});
}
}
}
を高めてい
を追加しましたOSXでは、別のケースを処理する必要があります。 OSPのSafariは、devicePixelRatioが2の場合、キャンバスのバッキングストアのサイズを自動的に倍増します.iOSのサファリは、メモリとビューポートのスケーリングの問題のため、これを行いません。したがって、ダブルクリックする前にcontext.backingStorePixelRatioが1であるかどうかをチェックする必要があります。 – webXL
これは、現時点ではSafari 6ベータ版にのみ追加する必要があります。そのプロパティはcontext.webkitBackingStorePixelRatio – webXL
でなければなりません。私はあなたの答えを0.7でテストし、シミュレータを網膜モードでテストしました。私はそれが必要な領域の1/4を占めるグラフを取得します。これはiOS 5.1上です。これは、キャンバスが800x600に倍増したにもかかわらず、キャンバスが400x300であると描画ロジックが考えているためです。 – webXL