製品版のみの機能
円チャート - TypeScript の使用
このサンプルでは、凡例および複数のレイアウト オプションを持つ円チャート コントロールを TypeScript で作成する方法を紹介します。
このサンプルは CTP 機能を使用しています。製品版では、API や動作が変更される場合があります。
開始角度: | |
半径: | |
ラベルの位置: |
|
引き出し線: |
|
このサンプルは、より大きい画面サイズのためにデザインされました。
モバイル デバイスで画面を回転、フル サイズ表示、またはその他のデバイスにメールで送信します。
コード ビュー
クリップボードへコピー
<!DOCTYPE html> <html> <head> <title></title> <!-- Ignite UI for jQuery Required Combined CSS Files --> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" /> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/structure/infragistics.css" rel="stylesheet" /> <script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.8.3.js"></script> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script> <!-- Ignite UI for jQuery Required Combined JavaScript Files --> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.core.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.dv.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.lob.js"></script> <style type="text/css"> #pieChart { display: inline-block; position: relative; float: left; margin-right: 10px; margin-bottom: 10px; } #legend { display: inline-block; } .options { margin-top: 20px; } .slider { width: 200px; height: 10px; margin: 10px; } </style> </head> <body> <div id="pieChart"></div> <div id="legend"></div> <table class="options"> <tr> <td>開始角度:</td> <td> <div id="angle" class="slider"></div> </td> </tr> <tr> <td>半径:</td> <td> <div id="radius" class="slider"></div> </td> </tr> <tr> <td>ラベルの位置:</td> <td> <div class="comboContainer"> <select id="labelPosition"> <option value="none">なし</option> <option value="center">中央</option> <option value="insideEnd">内部の終了位置</option> <option value="outsideEnd" selected="selected">外部の終了位置</option> <option value="bestFit">最適</option> </select> </div> </td> </tr> <tr> <td>引き出し線:</td> <td> <div class="comboContainer"> <select id="leaderLine"> <option value="straight">直線</option> <option value="arc" selected="selected">円弧</option> <option value="spline">スプライン</option> </select> </div> </td> </tr> </table> <script src="/TypeScriptSamples/pie-chart/typescript.js"></script> </body> </html>
/// <reference path="/js/typings/jquery.d.ts" /> /// <reference path="/js/typings/jqueryui.d.ts" /> /// <reference path="/js/typings/igniteui.d.ts" /> class PieChartCountryPopulation { countryName: string; population2008: number; constructor(inName: string, populationIn2008: number) { this.countryName = inName; this.population2008 = populationIn2008; } } var pieChartSample: PieChartCountryPopulation[] = []; pieChartSample.push(new PieChartCountryPopulation("中国", 1333)); pieChartSample.push(new PieChartCountryPopulation("インド", 1140)); pieChartSample.push(new PieChartCountryPopulation("米国", 304)); pieChartSample.push(new PieChartCountryPopulation("インドネシア", 228)); pieChartSample.push(new PieChartCountryPopulation("ブラジル", 192)); $(function () { $('#pieChart').igPieChart({ dataSource: pieChartSample, width: "430px", height: "430px", dataLabel: 'countryName', dataValue: 'population2008', explodedSlices: [2, 3, 4], radiusFactor: .6, startAngle: -30, labelsPosition: "outsideEnd", leaderLineType: "straight", labelExtent: 40, legend: { element: 'legend', type: "item" } }); $("#angle").slider({ slide: function (event, ui) { $("#pieChart").igPieChart("option", "startAngle", ui.value); }, min: 0, max: 360 }); $("#radius").slider({ slide: function (event, ui) { $("#pieChart").igPieChart("option", "radiusFactor", ui.value / 1000.0); }, min: 0, max: 1000, value: 600 }); $("#labelPosition").igCombo({ enableClearButton: false, mode: "dropdown", selectionChanged: function (evt, ui) { if ($.isArray(ui.items) && ui.items[0] != undefined) { $("#pieChart").igPieChart("option", "labelsPosition", ui.items[0].data.value); $("#labelExtent").slider("option", "disabled", ui.items[0].data.value != "outsideEnd"); $("#leaderLine").igCombo("option", "disabled", ui.items[0].data.value != "outsideEnd" ? true : false); } } }); $("#leaderLine").igCombo({ enableClearButton: false, mode: "dropdown", selectionChanged: function (evt, ui) { if ($.isArray(ui.items) && ui.items[0] != undefined) { $("#pieChart").igPieChart("option", "leaderLineType", ui.items[0].data.value); } } }); });