HTML5 では、canvas 機能を利用して、図形やグラフを描くことができます。html5.jpでライブラリが公開されているので、使ってみました。
当ブログのカテゴリーを円グラフにしてみました。ソースコードは下記のとおり。
<?php /* Plugin Name: circle Plugin URI: http://php-web.net/ Description: circle Author: Fumito MIZUNO Version: 1 Author URI: http://php-web.net/ */ add_shortcode( 'circle', 'circle_func' ); function circle_func( $atts, $content = null ) { extract( shortcode_atts( array( 'num' => '10' ), $atts )); if ( $num ) { $terms = get_terms('category', array( 'number' => $num, 'orderby' => 'count', 'order' => 'DESC' )); // jsの詳細は http://html5.jp/library/graph_circle.html $js = '<script type="text/javascript" src="'. WP_PLUGIN_URL . '/circle/circle.js"></script>'; $js .= "n"; $js .= '<script type="text/javascript"> window.onload = function() { var cg = new html5jp.graph.circle("sample"); if( ! cg ) { return; } var items = ['; $outdata = ''; foreach ( $terms as $termdata ) { if ($outdata != '') { $outdata .= ','; $outdata .= "n"; } $outdata .= '["'; $outdata .= esc_html($termdata->name); $outdata .= '", '; $outdata .= esc_html($termdata->count); $outdata .= ']'; } $js .= $outdata; $js .= "n"; $js .= ' ]; var params = { captionNum: false, otherCaption: "その他" }; cg.draw(items, params); }; </script> <div><canvas width="400" height="300" id="sample"></canvas></div>'; return $js; } } ?>
ショートコードを利用しています。記事本文の任意の場所で、[circle] と書いてください。circle.js は、html5.jpから入手してください。
楽天で検索
【楽天ブックスならいつでも送料無料】HTML5&CSS3ステップアップブック [ エ・ビスコム・テック・ラボ ]
2808円
ステップバイステップ形式でマスターできる エ・ビスコム・テック・ラボ ソシム発行年月:2012年05月 ページ数:287p サイズ:単行本 ISBN:97848
楽天ブックス
Supported by 楽天ウェブサービス