「jqPlot」を使って円グラフを作成
Webサイトで円グラフ表示したいと要望があったので、以前使用したjqPlotでデモを作成しました。ダウンロード
最初の要望は「凡例つけて」、「いい感じにカラーリングしてほしい。」、「定期的に変更が伴うので、編集画面も」でした。
スクリプト
ベースとなるスタイルシート・スクリプト。excanvasは、IE8表示用です。
<script src="jquery.min.js" type="text/javascript"></script> <link href= "jquery.jqplot.min.css" type="text/css" rel="stylesheet"> <script src="jquery.jqplot.min.js" type="text/javascript"></script> <script src="excanvas.min.js" type="text/javascript"></script>
円グラフの表示用のpieRenderer
<script src="plugins/jqplot.pieRenderer.min.js" type="text/javascript"></script>
実装
<div id="div1033" style="height:400px; width:500px; margin:auto;"></div>
<script>
$(document).ready(function(){
// データ
data = [[
['United States', 12], ['France', 11], ['Russia', 9], ['United Kingdom', 7], ['Japan', 3], ['Belgium', 2], ['Others', 10]
]]
// データラベル
// データ配列の順にカンマ区切りで指定します。
datalabel = [
'United States 12', 'France 11', 'Russia 9', 'United Kingdom 7', 'Japan 3', 'Belgium 2', 'Others 10'
]
// 円グラフ配色
seriescolors = [
"#4472A6", "#AA4644", "#89A550", "#715891", "#4199AF", "#D08949", "#616161"
]
// オプション
option = {
title: 'Fields Medalists (1936 - 2010)', // タイトル
seriesDefaults: {
renderer: jQuery.jqplot.PieRenderer, // 円グラフ用プラグイン
rendererOptions: {
dataLabels: datalabel, // データラベル
showDataLabels: true, // データラベル表示有無
startAngle: -90 // 円グラフ基線位置
}
},
seriesColors: seriescolors,
legend: { show:true, location: 'e' } // 凡例
}
// 作成実行
$.jqplot( 'div1033', data, option);
});
</script>
「開始位置を変えてほしい」「凡例やめて、項目と値をグラフ内に表示」
- startAngle
円グラフの開始位置を0時にしました。("基線位置"なる名称みたいですが、正式には何でしょうね?)デフォルトが3時の方向のようですので、-90(度)することで設定(回転)できます。 - seriesColors
パイの配色を配列で順に指定できます。(表示データ) 円グラフの配色は、Power Pointの"fruit salad"を参考にしました。 - legend
「凡例」を英語でlegend。show:falseと指定することで非表示にできます。
円グラフ サンプル
CakePHP経由でDBアクセスして表示するデモです。コードもそちらに。
追加オプション
円グラフ ツールチップ
<!-- 追加で、jqplot.highlighter.min.jsを読み込みます--> <script src="plugins/jqplot.highlighter.min.js" type="text/javascript"></script>
オプションにhighlighterの設定を追加して下さい。
// オプション
option = {
highlighter: {
show: true, // ツールチップを表示する
useAxesFormatters: false, // 円グラフの場合falseに設定する
formatString:'%s, %P', // ツールチップのフォーマット
},
}
関連記事
-
-
要素を折りたたみできる「nestedAccordion」
「nestedAccordion」は、クリックすると要素を開閉(折りたたみ)できるjQueryプラグインです。名前の通りネストして、アコーディオンの中にアコーディオンも実装できます。ダウンロードはこち
-
-
クリックするとテキストボックスにかわるラベルを実装
Flickrなどでは、写真の編集画面でキャプションをラベルとして表示しておきクリックするとテキストボックスやテキストエリアに変換してくれて編集させるようなインターフェイスを実装しています。結構いいです
-
-
ページの画像を非同期で読み込んでくれる「Lazy Load」
「LazyLoad Plugin」は、画像をページのロード時ではなく非同期に読み込んでくれるjQueryプラグインです。設定によりスクロールした際に画像をロードしたりしてくれます。 ダウンロード |
-
-
エフェクト豊富なニュースティッカー用プラグイン「inewsticker」
「inewsticker」は、色々なエフェクトでニュースティッカーが実装できるjQueryプラグインです。ダウンロード エフェクトには、fade/slide/typingの3つが可能です。 デ
-
-
テキストエリアを自動的にリサイズしてくれる「Autosize」
「Autosize」は、テキストエリアのサイズを入力文字数によって自動的に変更してくれるjQueryプラグインです。標準では、枠を超える文字数を入力するとスクロールバーが表示されますが、かわりに建増し
-
-
selectボックスを華麗にしてくれる「Chosen」「Select2」
selectボックスに当てるjQueryプラグインを色々探してみましたがこれに決めました。シングルやマルチ、またグループにも対応しています。インスタンス検索してくれるのが決め手 Chosen CDN
-
-
商用利用フリー Lightbox プラグイン
商用利用フリー(投稿時)のlightbox用プラグインをまとめてみました。最新のライセンスに関しては各サイトに確認をお願いいたします。) lightboxの中にもギャラリー表示が可能なもの、ギャラリ
-
-
実装方法が選べるツールチップ用プラグイン「Smallipop」
Smallipopは、ツールチップの実装をマークアップベース(HTMLに書き出し)とJavascriptベース両方で行えるjQueryプラグインです。世の中この手のツールは結構片方でのみだったりします
-
-
時刻入力に便利な「Timepicker for Bootstrap」
「Timepicker for Bootstrap」は、テキストボックスへの時刻入力を便利にしてくれるjQueryプラグインです。 2014/06/16 Bootstrap3対応版に書き換え
-
-
カレンダー実装プラグイン「Bootstrap Calendar」
「Bootstrap Calendar」はBootstrap 3ベースでカレンダーが実装できるjQueryプラグインです。 ダウンロード スクリプト




Comment
jQuery:「jqPlot」を使って円グラフを作成 | Think deeply, Do less, More effective http://bit.ly/12df0O2