/ 最近 .rdf 追記 編集 設定 本棚

log[20071205] SVGで簡単な折れ線グラフを書こうかと思った()



20071205()

[SVG] SVGで簡単な折れ線グラフを書こうかと思った()

数字を列挙したファイルがあるのでこの数字を加工せずにそのまま放り込んだら X軸と Y軸の上限と原点を適当に決めて見られるグラフになったりすると便利だなと思って(はてなグラフは知ってるけど idってないの)

viewBox属性を使うと空間の 原点と大きさを自由に定義できるので与えられた数字の最小値と最大値とその差を使って viewBoxを定めると入力された数字を加工せずとも点が端から端までをフルに使って配置されて具合がよい

viewBoxという仮想平面を表示するときには表示サイズまで拡大縮小をする必要があってこのときに線の太さが一緒に拡大縮小されて( ゜Д゜)マズー というのがいま

こんな状態

Inkscapeというベクタ画像ソトは[File]->[Inkscape Preference]->[Transforms]タブ->[Scale stroke width] のチックを外すという手順でこれを回避できるらしいのだけどSVGにはそのものズバリの属性はないのかね

 参考サトメモ

 っぱりいるよね同じことで困ってる人

http://www.nabble.com/Stroke-width-bug--t4712455.html

 Q「単位をつけてるのに拡大されたり縮小されたりするのっておかしくね?
 A「全部相対的なもんだ
 Q「仕様にそういうふうに書いてあるとは思わない
 A「CSSの ptとか pcとか cmとか mmっていう単位は全部 pxの何倍かっていうのを示してるだけなんだよ
 Q「わかった。でオフトピだけどこの問題を解決する方法はあるの?
 A「javascriptを使って逆の拡大縮小をかけるしかない。SVG1.2になればなんとかなってるかもしれない
 B「Mozillaの SVGを最初に実装した alex fritzeは正に今のようなことを考えて実装をしたと思う(I believe)。それが the mozila codebaseに投稿されて受理されたかは知らないけど

こんな雰囲気だろうか

その図形に対して javascriptで逆の拡大縮小をかけろっていってるけど座標をスケールさせたままで線の太さだけを元に戻せるのだろう