jQuery プラグイン 『jQuery-Visualize』 : 改造版用 - オプション解説
日時: 2014/12/04 22:29
名前: lightbox
ここでは、type しか指定していないので、他のオプションは全てデフォルトで設定されています。
▼ オリジナルオプション
グラフエリアのサイズは、width と height で指定できますが、何も指定しなければ table 要素の大きさが使われます。ここでは、table 要素に高さをわざと指定して、グラフエリアのサイズを同期させています
コード内部のデフォルト値
拡張子:
txt vbs wsf js php java html utf8 sjis
var o = $.extend({
tableDisplay: true, // 追加オプション : false にすると、データの table を非表示にします
top: 0, // 追加オプション
bottom: 0, // 追加オプション
type: 'bar', //also available: area, pie, line
width: $(this).width(), //height of canvas - defaults to table height
height: $(this).height(), //height of canvas - defaults to table height
appendTitle: true, //table caption text is added to chart
title: null, //grabs from table caption if null
appendKey: true, //color key is added to chart
rowFilter: '*',
colFilter: '*',
colors: ['#be1e2d','#666699','#92d5ea','#ee8310','#8d10ee','#5a3b16','#26a4ed','#f45a90','#e9e744'],
textColors: [], //corresponds with colors array. null/undefined items will fall back to CSS
parseDirection: 'x', //which direction to parse the table data
pieMargin: 20, //pie charts only - spacing around pie
pieLabelsAsPercent: true,
pieLabelPos: 'inside',
lineWeight: 4, //for line and area - stroke weight
barGroupMargin: 10,
barMargin: 1, //space around bars in bar chart (added to both sides of bar)
yLabelInterval: 100 //distance between y labels
},options);
電気使用量の推移
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2013
1144
938
972
714
771
515
641
1051
1018
658
681
712
2014
1219
927
947
709
674
495
537
900
758
536
550
857
オプションに幅と高さを指定する ( No.1 )
日時: 2014/12/04 20:45
名前: lightbox
日時: 2014/12/04 20:45 名前: lightbox
幅と高さを指定しています。ただ、オリジナルの仕様でグラフの最低値がマイナスが無い場合はゼロとなる為、無駄な空間がグラフの下を占有しています。また、最大値をグラフの値の上限にしているので、グラフが天井にべったりはりついた様子になってしまっています。そこで、このところを改造して top と bottom を指定できるようにしました。
電気使用量の推移
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2013
1144
938
972
714
771
515
641
1051
1018
658
681
712
2014
1219
927
947
709
674
495
537
900
758
536
550
857
新しい追加オプションの top と bottom を指定 ( No.2 )
日時: 2014/12/04 20:56 名前: lightbox
このような指定は自動ではできませんが、固定されたデータをグラフとして使用したい場合は重要なレイアウトだと思います。また、オリジナルでは、Y 座標の目盛りの単位がこのように 100 づつというようになりません。そこでこれも変更して(yLabelInterval )デフォルトで 100 づつにしています。( 変更可能です )
電気使用量の推移
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2013
1144
938
972
714
771
515
641
1051
1018
658
681
712
2014
1219
927
947
709
674
495
537
900
758
536
550
857
title と filter の指定 ( No.3 )
日時: 2014/12/04 22:05 名前: lightbox
title はデフォルトで表示するようになっています(appendTitle: true)。ですが、文字列はまず caption 要素の中を使います。他の内容に変更したい場合は、title オプション で指定します。
jQuery のセレクタを使ったフィルタが 列と行に用意されています。デフォルトでは、rowFilter: '*' と colFilter: '*' が設定されているので全てが対象となります。
ここでは、colFilter しか指定していませんが、TD 毎にクラスを指定して、2014年にはクラスを指定していないので、2013年の1〜6月のみが表示されます。
電気使用量の推移
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2013
1144
938
972
714
771
515
641
1051
1018
658
681
712
2014
1219
927
947
709
674
495
537
900
758
536
550
857
表データの向きの変更と、グラフの色 ( No.4 )
日時: 2014/12/04 23:02 名前: lightbox 拡張子:
txt vbs wsf js php java html utf8 sjis
<script type="text/javascript" >
$(function(){
$("#target_table5" ).visualize({
type: "line" ,
width: "400px" ,
height: "300px" ,
top: 1300,
bottom: 400,
parseDirection: "" ,
colors: ['#be1e2d','#666699','#92d5ea','#ee8310','#8d10ee','#5a3b16','#26a4ed','#f45a90','#e9e744',"#ffffff" ,"#DB30CD" ,"#44DB30" ],
});
});
</script>
parseDirection は、デフォルトで "x" が設定されており、それ以外の文字列の場合はテーブルデータの利用の方向が x軸とy軸で入れ替わります。
グラフの色は、9種類しか用意されていないので、この場合は3色追加しています。オプションで設定した色がデフォルトの色を上書きするので、2色しか指定しなければ 3色目は無い事になるので注意して下さい。
電気使用量の推移
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2013
1144
938
972
714
771
515
641
1051
1018
658
681
712
2014
1219
927
947
709
674
495
537
900
758
536
550
857
ラインの太さと、追加オプションのデータテーブルの非表示 ( No.5 )
日時: 2014/12/04 22:38 名前: lightbox
ラインの太さは、デフォルトでは 4 です。ここでは 2 に変更して、tableDisplay を false にしてテーブルを非表示にしています
電気使用量の推移
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2013
1144
938
972
714
771
515
641
1051
1018
658
681
712
2014
1219
927
947
709
674
495
537
900
758
536
550
857
棒グラフの幅変更 ( No.6 )
日時: 2014/12/04 22:59 名前: lightbox 拡張子:
txt vbs wsf js php java html utf8 sjis
<script type="text/javascript" >
$(function(){
$("#target_table7" ).visualize({
type: "bar" ,
width: "400px" ,
height: "300px" ,
top: 1300,
bottom: 400,
barMargin: 1,
barGroupMargin: 10,
tableDisplay: false
});
$("#target_table8" ).visualize({
type: "bar" ,
width: "400px" ,
height: "300px" ,
top: 1300,
bottom: 400,
barMargin: 2,
barGroupMargin: 3,
tableDisplay: false
});
});
</script>
barMargin は、グループ内でのグラフとグラフの間です。デフォルトは 1 ですが、グラフエリアはサイズが決まっているので、このような値をむやみに変更すると棒グラフの幅が細くなるだけなので注意して下さい。barGroupMargin のデフォルトは 10 が設定されているので、棒グラフの幅を広くしたい場合はこの値を少なく設定します。
電気使用量の推移
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2013
1144
938
972
714
771
515
641
1051
1018
658
681
712
2014
1219
927
947
709
674
495
537
900
758
536
550
857
電気使用量の推移
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2013
1144
938
972
714
771
515
641
1051
1018
658
681
712
2014
1219
927
947
709
674
495
537
900
758
536
550
857
円グラフ ( No.7 )
日時: 2014/12/04 23:27 名前: lightbox 拡張子:
txt vbs wsf js php java html utf8 sjis
<script type="text/javascript" >
$(function(){
$("#target_table9" ).visualize({
type: "pie" ,
width: "400px" ,
height: "300px" ,
top: 1300,
bottom: 400,
parseDirection: "" ,
pieLabelPos: "outside" ,
pieMargin: 40,
colors: ['#be1e2d','#666699','#92d5ea','#ee8310','#8d10ee','#EBA36C','#26a4ed','#f45a90','#e9e744',"#ffffff" ,"#DB30CD" ,"#44DB30" ],
textColors: ['#be1e2d','#666699','#92d5ea','#ee8310','#8d10ee','#EBA36C','#26a4ed','#f45a90','#e9e744',"#ffffff" ,"#DB30CD" ,"#44DB30" ]
});
});
</script>
ラベルがデフォルトでは円グラフ内に表示されるので(pieLabelPos: "intside" )、データが多い場合は pieLabelPos: "outside" を指定します。
さらに、ラベルの色を指定しないと良く見えない場合は、textColors で個別に指定します。そして、pieMargin を指定してグラフエリアの外側からの距離指定する事によって外側のラベルをうまく表示できるようにします。
データは、この場合 parseDirection を "x" 以外 に設定しますが、データは2行あるので内部で合計されてその値が使用されて% 表示 されます。
値を直接表示したい場合は、pieLabelsAsPercent を false に設定します
電気使用量の月別比率
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2013
1144
938
972
714
771
515
641
1051
1018
658
681
712
2014
1219
927
947
709
674
495
537
900
758
536
550
857
北海道(札幌) 北海道(函館) 北海道(旭川) 北海道(帯広) 北海道(釧路) 北海道(北見) 北海道(室蘭) 青森 岩手 秋田 山形 宮城 福島 栃木 群馬 茨城 東京 神奈川 埼玉 千葉 山梨 新潟 長野 石川 富山 福井 静岡 愛知 岐阜 三重 和歌山 奈良 滋賀 京都 大阪 兵庫 徳島 愛媛 高知 香川 岡山 広島 鳥取 島根 山口 福岡 佐賀 熊本 長崎 大分 宮崎 鹿児島 沖縄