製品版のみの機能
円チャート - 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.2/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" />
<link href="http://cdn-na.infragistics.com/igniteui/2024.2/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.2/latest/js/infragistics.core.js"></script>
<script src="http://cdn-na.infragistics.com/igniteui/2024.2/latest/js/infragistics.dv.js"></script>
<script src="http://cdn-na.infragistics.com/igniteui/2024.2/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);
}
}
});
});