製品版のみの機能
ファンネル チャート - TypeScript の使用
このサンプルは CTP 機能を使用しています。製品版では、API や動作が変更される場合があります。
ファンネル チャート
重み付けスライス
選択されたスライス (スライス選択が実行されるまでグリッドは空です):
選択されたスライス (スライス選択が実行されるまでグリッドは空です):
このサンプルは、より大きい画面サイズのためにデザインされました。
モバイル デバイスで画面を回転、フル サイズ表示、またはその他のデバイスにメールで送信します。
このサンプルでは、TypeScript でウェイト スライス可能なファンネル チャートを作成する方法を紹介します。
ファンネル チャートのスライス選択機能を有効にし、スライスの選択イベントを処理する方法を紹介します。
コード ビュー
クリップボードへコピー
<!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>
</head>
<body>
<link href="/css/charts/chart-samples.css" type="text/css" rel="stylesheet" />
<div class="sampleContent">
<div class="chartContainer">
<h4>ファンネル チャート</h4>
<div id="chartNormal"></div>
</div>
<div class="chartContainer">
<h4>重み付けスライス</h4>
<div id="chartWeighted"></div>
</div>
<div>
<div style="float: left; padding-top: 7px; border-bottom: 1px solid #d0d0d0; width: 100%;">
</div>
<div style="float: left; padding-top: 20px;">
<h4 style="float: left;">選択されたスライス (スライス選択が実行されるまでグリッドは空です): </h4>
<table id="selectedSlicesGrid1"></table>
</div>
<div style="float: right; padding-top: 20px;">
<h4 style="float: left;">選択されたスライス (スライス選択が実行されるまでグリッドは空です): </h4>
<table id="selectedSlicesGrid2"></table>
</div>
</div>
<script src="/TypeScriptSamples/funnel-chart/typescript.js"></script>
</div>
</body>
</html>
/// <reference path="/js/typings/jquery.d.ts" />
/// <reference path="/js/typings/jqueryui.d.ts" />
/// <reference path="/js/typings/igniteui.d.ts" />
class Department {
departmentName: string;
budget: number;
constructor(inDepartmentName: string, inBudget: number) {
this.departmentName = inDepartmentName;
this.budget = inBudget;
}
}
var departments: Department[] = [];
departments.push(new Department("事務", 30));
departments.push(new Department("セールス", 50));
departments.push(new Department("IT", 60));
departments.push(new Department("マーケティング", 50));
departments.push(new Department("開発", 100));
departments.push(new Department("サポート", 20));
var selectedSlicesNormal = [];
var selectedSlicesWeighted = [];
$(function () {
// Create a basic funnel chart
$("#chartNormal").igFunnelChart({
width: 325,
height: 500,
dataSource: departments,
valueMemberPath: "budget",
innerLabelMemberPath: "budget",
innerLabelVisibility: "visible",
outerLabelMemberPath: "departmentName",
outerLabelVisibility: "visible",
allowSliceSelection: true,
useUnselectedStyle: true,
sliceClicked: function (evt, ui) {
if (ui.selected) {
selectedSlicesNormal.push(ui.item);
}
else {
var index = selectedSlicesNormal.indexOf(ui.item, 0);
if (index != undefined) {
selectedSlicesNormal.splice(index, 1);
}
}
$("#selectedSlicesGrid1").igGrid("dataBind");
},
selectedSliceStyle: {
fill: "lightblue",
stroke: "black"
},
unselectedSliceStyle: {
fill: "lightgrey",
stroke: "grey"
}
});
// Instantiate the selected slices grid for the basic funnel chart
$("#selectedSlicesGrid1").igGrid({
dataSource: selectedSlicesNormal,
columns: [
{ key: "departmentName", headerText: "グループ", width: "130px" },
{ key: "budget", headerText: "予算", width: "70px" }
]
});
// Create a funnel chart with weighted size slices
$("#chartWeighted").igFunnelChart({
width: 325, //"325px",
height: 500,
dataSource: departments,
outerLabelAlignment: "right",
valueMemberPath: "budget",
innerLabelMemberPath: "budget",
innerLabelVisibility: "visible",
outerLabelMemberPath: "departmentName",
outerLabelVisibility: "visible",
funnelSliceDisplay: "weighted",
allowSliceSelection: true,
useUnselectedStyle: true,
sliceClicked: function (evt, ui) {
if (ui.selected) {
selectedSlicesWeighted.push(ui.item);
}
else {
var index = selectedSlicesWeighted.indexOf(ui.item, 0);
if (index != undefined) {
selectedSlicesWeighted.splice(index, 1);
}
}
$("#selectedSlicesGrid2").igGrid("dataBind");
},
selectedSliceStyle: {
fill: "lightblue",
stroke: "black"
},
unselectedSliceStyle: {
fill: "lightgrey",
stroke: "grey"
}
});
// Instantiate the selected slices grid for the funnel chart with weighted slices
$("#selectedSlicesGrid2").igGrid({
dataSource: selectedSlicesWeighted,
columns: [
{ key: "departmentName", headerText: "グループ", width: "130px" },
{ key: "budget", headerText: "予算", width: "70px" }
]
});
});