〔前の画面〕
〔クリックポイント〕 〔最新の一覧〕
〔全て読んだことにする〕〔全て読んだことにして終了〕 〔終了〕
1277 re(9):sizeとxrangeの比率による棒グラフの幅の不揃い |
2006/5/25(木)13:05 - 竹の - nolm01.iee.niit.ac.jp - 595 hit(s)
もるべにゃ> 書いていただいたコードを丸コピしただけでは6本に1本くらい細い棒ができてしまいましたが、
もし本当にそうだとしたら、それは何か別な問題があるように思います。
少なくとも私のところではそのような現象は起きてはおらず、全ての棒が
2 ドット幅になることを確認しています。どうやって確認していますか。
gnuplot のバージョンは 4.0 ということだそうですが、OS は何ですか。
データの X は、正しく 1 から公差 1 の等差数列になっていますか。
私の方では、
1,5.475575
2,5.582131
3,6.691628
...
500,5.151800
のような 500 行のデータを作成して、前のスクリプトを gnuplot-4.0.0
に実行させ (Solaris 9 上)、その PNG ファイルをそのまま XPM に変換
して、棒のサイズがすべて 2 ドット幅になっていることを確認済みです。
OS に付属する数学ライブラリの誤差の違いでそういうことが起こってい
るのでしょうか。
もるべにゃ> 数値を微調整して上手く行く計算式を探してみます。
幅だけでなく、x 座標を含めて四捨五入がされているので、変に調整しても
多分うまくいきません。
細かい話 (src/graphics.c の plot_boxes() 関数の中の話) をしますと、
箱の幅である map_x(dxr)-map_x(dxl)+1 が固定された整数になるように指
定するには、axis_array[x_axis].term_scale の逆数の値 (= 1 pixel) の
整数倍になるような指定が必要ですが、lmargin, rmargin が正だと、それ
を計算するのは難しいと思います。
直接 axis_array[x_axis].term_scale を save で吐かせてそれを使う、
とかいうパッチを作る、という手はありますが (今回は実際それで値を確
認しましたが) 有用性はあまりないですよね。
〔ツリー構成〕
┣【1277】 re(9):sizeとxrangeの比率による棒グラフの幅の不揃い 2006/5/25(木)13:05 竹の (1420) |
〔前の画面〕
〔クリックポイント〕 〔最新の一覧〕
〔全て読んだことにする〕〔全て読んだことにして終了〕 〔終了〕
※ 『クリックポイント』とは一覧上から読み始めた地点を指し、ツリー上の記事を巡回しても、その位置に戻ることができます.