|
<script language="JavaScript" type="text/javascript">
<!--//copyright(C) 2005 あう http://www5c.biglobe.ne.jp/~horoau/
//ver1.0
function b_graph()
{
this.color = new Array();
this.data = new Array();
this.title = new Array();
this.vml_data = '';
this.vml_list = '';
this.color[0] = "#f6537f";
this.color[1] = "#b6e881";
this.color[2] = "#7b78ef";
this.color[3] = "#f9b652";
this.color[4] = "#8c56cd";
this.color[5] = "#58c6dc";
this.color[6] = "#f157b1";
this.color[7] = "#e8e81c";
if(!document.all && navigator.userAgent.indexOf("Opera") != -1)
{return;}
if(!arguments[0] || !arguments[1])
{return undefined;}
var max = arguments[0];
for(i=0;i<arguments[1].length;i++)
{this.data[this.data.length] = arguments[1][i];}
var length = arguments[1].length*200+100;
var over = 0;
for(i=0;i<this.data.length;i++)
{
this.data[i] = Math.round(this.data[i]/max*1000);
if(over < this.data[i])
{over = this.data[i];}}
if(over > 1000)
{over = over-1000;}
else
{over = 0;}
this.drow = function (width,height)
{
if(!document.all && navigator.userAgent.indexOf("Opera") != -1)
{return 'InternetExplorer5.0以上ならグラフが表示されます。';}
this.vml_data = "";
this.vml_data += '<v:group style="width:1000px; height:1000px;">\n';
for(i=0;i<10;i++)
{this.vml_data += '<v:line from="0,'+(over+(i*100))+'" to="'+length+','+(over+(i*100))+'" strokecolor="#cccccc" strokeweight="1" />\n';}
for(i=0;i<this.data.length;i++)
{this.vml_data += '<v:rect style="width:100px;height:'+(this.data[i])+'px;position:relative;top:'+(1000-this.data[i]+over)+'px;left:'+(i*200+100)+'px;"\n';
this.vml_data += ' fillcolor="'+this.color[i]+'" strokecolor="'+this.color[i]+'" strokeweight="1" />\n';}
this.vml_data += '<v:polyline points="0,'+(0+over)+' 0,'+(1000+over)+' '+length+','+(1000+over)+'" filled="false" strokecolor="#000000" strokeweight="1" />\n';
this.vml_data += '</v:group>\n';
return '<v:group style="width:'+width+';height:'+height+';">'+this.vml_data+'</v:group>';}
this.add = function (width,height,font,list)
{
if(!document.all && navigator.userAgent.indexOf("Opera") != -1)
{return 'InternetExplorer5.0以上ならグラフが表示されます。';}
this.vml_list = '<table border="0" cellspacing="1" cellpadding="0" style="display:inline;">';
for(i=0;i<this.data.length;i++)
{this.vml_list += '<tr>\n<td>';
this.vml_list += '<v:rect style="width:'+width+'; height:'+height+';margin-right:3px;" strokecolor="'+this.color[i]+'"';
this.vml_list += ' fillcolor="'+this.color[i]+'" strokeweight="1" /></td>\n';
this.vml_list += '<td style="font-size:'+font+';">'+list[i]+'</td>\n';
this.vml_list += '</tr>';}
this.vml_list += '</table>';
return this.vml_list;}}
// -->
</script>
|
[ 2005.7.10 ] ver.1.0 |
|
本音を言えばもう少し作り込みたかったんだけど
あんまり作り込むと汎用性が欠けてきちゃうから
クラスライブラリってことで出来るだけシンプルにしてみた。
今までIEでしか使えないってことで
VMLってどうも敬遠してた部分あるんだけど
使ってみると結構面白いねぇ。
他のブラウザでも使えるようにしたいもんだけど
SVGは現状プラグイン対応だから
HTMLに書いたJavaScriptからのアクセスって難しいのかな?
参考資料があまりに少ないんでちょっと苦戦してるところ。
勉強したいところなんだけど仕事と他の勉強でいっぱいいっぱいなもんで。
|
|
ウェブ木箱
copyright(C) 2005 あう