SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

最先端テクノロジーに対応した高速・軽量なJavaScript UIライブラリ「Wijmo」の活用(AD)

グラフやゲージなど「Wijmo(ウィジモ) 5」のさまざまなUI部品を活用

ECMAScript 5に準拠した高速・軽量なJavaScript UIライブラリ「Wijmo 5」の活用 第4回

  • このエントリーをはてなブックマークに追加

 本連載では、グレープシティが提供するJavaScriptライブラリ「Wijmo(ウィジモ)」について、サンプルとともに利用例を紹介します。今回はWijmo 5が提供するグラフやゲージ、入力部品について利用法を説明していきます。

  • このエントリーをはてなブックマークに追加

はじめに

 Wijmo(ウィジモ)は、グレープシティがHTML/JavaScript環境に向けて提供しているJavaScriptライブラリで、WebサイトやWebアプリケーションで活用できるUI部品を利用者に提供します。

 2015年1月に提供開始されたWijmoの新版「Wijmo 5」には、前回記事で紹介したグリッド部品「FlexGrid」以外にも表1のようなUI部品(JavaScriptコントロール)が含まれています。

表1 本記事で紹介するWijmo 5のUI部品
部品 内容
FlexChart チャート(棒グラフ、折れ線グラフなど)
Gauge ゲージ(LinearGauge、RadialGauge)
Input 入力部品(多機能テキストボックス、カレンダーなど)

 本記事では表1のUI部品について、概要と利用法をサンプルで説明していきます。

対象読者

  • WebサイトやWebアプリケーションのレベルをワンランク上げたい方
  • より軽量/高速なJavaScriptのUI部品を探している方
  • Wijmo 5が提供するUI部品の全容を把握したい方

必要な環境

 Wijmo 5はECMAScript 5をサポートする、いわゆるモダンブラウザをターゲットにしており、WijmoのWebサイトでは以下のブラウザがサポート対象として案内されています。

  • Internet Explorer:9以上
  • Google Chrome:5以上
  • Mozilla Firefox:4以上
  • Safari:5以上
  • Opera:12以上

 今回は以下の環境で動作を確認しています。

  • Windows 7 64bit版
    • Internet Explorer 11

 なお本記事のサンプルコードはAngularJS(バージョン1.2.1)およびWijmo 5のAngularJS連携機能を利用しています。

チャートを表示するFlexChart

 FlexChartはチャートを表示するUI部品です。AngularJSと組み合わせる場合はwj-flex-chartディレクティブ(独自タグ)でチャート全体を、wj-flex-chart-seriesディレクティブで1つのデータ系列を記述します。棒グラフと折れ線グラフ、凡例を表示する図1のようなサンプルを本連載の第2回で説明しています(今回記事のサンプルコードにも同じ内容のサンプルを含めています)。

図1 FlexChartによるグラフ表示(001_wijmo_flexchart1.html)
図1 FlexChartによるグラフ表示(001_wijmo_flexchart1.html)

グラフの種類を指定

 FlexChartではchartTypeプロパティ(chart-typeディレクティブ属性)の設定によりさまざまなグラフを表示できます。主なグラフの種類を表2に示します。サポートするすべての種類はドキュメントを参照してください。

表2 FlexChartで表示できる主なグラフ
名前 内容
Column 縦棒グラフ
Bar 横棒グラフ
Line 折れ線グラフ
LineSymbols シンボル付き折れ線グラフ
Spline スプライングラフ(曲線でデータを補完)

 これらのグラフ種類を切り替えて表示するサンプルをリスト1に示します。

リスト1 グラフの種類を切り替えて表示(002_wijmo_flexchart2.html)
<h3>FlexChart</h3>
<wj-flex-chart items-source="chartData" 
    binding-x="quarter" 
    chart-type="{{chartType}}" 
    style="width:640px;height:300px;">
    <wj-flex-chart-series name="訪問数" binding="visit">
    </wj-flex-chart-series>
    <wj-flex-chart-series name="売上高" binding="sales">
    </wj-flex-chart-series>
</wj-flex-chart>

<h3>グラフ種類</h3>
<select ng-model="chartType">
    <option value="Column">Column</option>
    <option value="Bar">Bar</option>
    <option value="Line">Line</option>
    <option value="LineSymbols">LineSymbols</option>
    <option value="Spline">Spline</option>
</select>

 wj-flex-chartのchart-type属性にスコープの変数chartTypeを指定します。selectタグで記述されたプルダウンを操作するとAngularJSの双方向バインディングによりchartTypeの値が変更され、それに応じてグラフの種類が切り替わります。

図2 グラフの種類を切り替えて表示(002_wijmo_flexchart2.html)
図2 グラフの種類を切り替えて表示(002_wijmo_flexchart2.html)

タイトルと軸の設定

 グラフにはwj-flex-chartのheader、footer属性でヘッダー・フッター文字列を設定できます。またwj-flex-chart-axisディレクティブで軸の設定をカスタマイズできます。これらを設定した例をリスト2に示します。

リスト2 グラフにタイトルと軸を設定(003_wijmo_flexchart3.html)
<wj-flex-chart items-source="chartData" binding-x="quarter" 
    header="営業記録" footer="2015年4月1日現在"
    style="width:640px;height:300px;">
    <!-- X軸の指定 ...(1)-->
    <wj-flex-chart-axis wj-property="axisX" 
        title="四半期"
        major-grid="true"
        >
    </wj-flex-chart-axis>
    <!-- Y軸の指定 ...(2)-->
    <wj-flex-chart-axis wj-property="axisY" 
        title="数値" 
        max="600000"
        min="0"
        major-unit="200000">
    </wj-flex-chart-axis>
    <!-- 中略 -->
</wj-flex-chart>

 wj-flex-chartディレクティブのheader、footer属性でヘッダー(「営業記録」)とフッター(「2015年4月1日現在」)を設定しています。(1)は軸の指定で、wj-propertyに"axisX"を設定してX軸を表しています。ここでは軸に表示する文字列をtitle属性に設定しています。major-gridは軸のグリッド線を表示する属性で、trueを設定してグリッド線を表示させます。一方(2)はy軸の指定で、titleのほかにmax、min属性で最大値・最小値を、major-unit属性で軸線の間隔を指定しています。

 リスト2を実行すると、タイトルと軸がカスタマイズされたグラフが表示されます。

図3 タイトル・軸を変更したグラフを表示(003_wijmo_flexchart3.html)
図3 タイトル・軸を変更したグラフを表示(003_wijmo_flexchart3.html)

次のページ
ゲージを表示するLinearGaugeとRadialGauge

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
最先端テクノロジーに対応した高速・軽量なJavaScript UIライブラリ「Wijmo」の活用連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト  吉川 英一(ヨシカワ エイイチ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8688 2015/11/10 15:30

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング