ASP.Netでいってみる RazorとWeb ページに チャレンジ 6 MVC Chart
msdnの
開発者向け技術情報からこんなページを発見しました。『Razor 構文と
Web ページ』
『Razor構文』の勉強に行ってきます。
その6です。
第7章 データをグラフで表示する P103
この章では、グラフを表示する方法について記述されています。でグラフ扱う場合に置き換えていってみたいと思います。
でグラフを扱うサンプルはこちらのページを参考にさせてもらいました。
■Chart Web Helper in ASP.NET MVC 3 Beta
配列中のデータからグラフを作成する方法
このパターンビューにサンプルのコードを張り付けるだけでグラフ表示可能ですが、上記のMVC3の事例にあるように、コントロールとビューを使用する方法でいってみます。教科書では少し後の「Webページ中にグラフを表示する」に記載されている方法に似ていますね。
事前に「System.Web.Helpers」が参照設定できていることを確認しておきます。
1.コントローラの追加
コントローラ名:Chart1 (お好きな名前で)
テンプレート:空のMVCコントローラ
2.メソッドの追記(中身は教科書よりコピペです)
public ActionResult GetlChart1()
{
var myChart = new Chart(width: 600, height: 400)
.AddTitle("Chart Title")
.AddSeries(
name: "Employee",
xValue: new { "Peter", "Andrew", "Julie", "Mary", "Dave" },
yValues: new { "2", "6", "4", "5", "3" })
.Write();
}
4.実行 (実行方法の1サンプルとして見てくださいね)
[Views][Shared][_Layout.cshtml]を編集 赤字行を追加して メニュー追加
<ul id="menu">
<li>@Html.ActionLink("ホーム", "Index", "Home")</li>
<li>@Html.ActionLink("バージョン情報", "About", "Home")</li>
<li>@Html.ActionLink("連絡先", "Contact", "Home")</li>
<li>@Html.ActionLink("グラフ①", "Index", "Chart1")</li>
</ul>
グラフのデータとしてデータベースの問い合わせを使う
原因不明の事故でビューがスカ消えした
本ブログ作成中に何故かVWDのビュー内スクリプトがすっきり全部消えてしまった。ソリューションエクスプローラでは名前は残ってるんですが、物理ファイルがなくなってる。フォルダは残ってるんですけど。。どんなオペレーションしたらこんなことになるんだろう。
バックアップ取ってなかったぜ。。。唖然。
でグラフの続きを行うために、プロジェクトを新規につくりました。
データベース関連情報も全部作り直しました。まあ、そんな愚痴はさておき
データベースからデータを持ってきてグラフ化する方法ですが、基本的に
「配列中のデータからグラフを作成する方法」と同じで、Valueをセットする部分を変更してあげればOKですね。
WebMatrixの教科書では、
var db = Database.Open("SmallBakery");
var data = db.Query("SELECT Name, Price FROM Product");
表示できました。
また、テーマを設定すると
var myChart = new Chart(width: 600, height: 400,theme: ChartTheme.Green)
こんな風に。。
このあたりは、
しばやん雑記
System.Web.Helpers を活用する
また、このSystem.Web.HelperのChartでは機能機能不足だなっと感じられる場合は、こちらが参考になります。すごいっす。Azure上の本物が現在はみられないかもしれませんがとにかくすごいです。
テスターですが何か?
東京電力節電効果計測サービス(LightElectricity on Azure)