TeeChartの使い方 |
TeeChartって目茶難しいですよね。
項目多すぎ。ヘルプわからなすぎ。
長年現実逃避してきましたが、まじめに勉強します。
この項目は、Delphi7にバンドルされているバージョンです。 |
タイトルの変更 |
一番簡単なタイトルやフッターの変更です。 |
var
crtTest:TChart;
begin
crtTest.Title.Text.Clear;
crtTest.Title.Text.Add('●月度個人別成績表');
crtTest.Foot.Text.Clear;
crtTest.Foot.Text.Add('月末に向けて、追い込みかけましょう!');
|
背景 |
コンポーネント全体のビジュアルに対する背景と表の中の背景があります。
パネル |
項目名 |
プロパティ名 |
意味 |
内側ベベル |
BevelInner |
枠線の内側の凹凸 |
(内側ベベルの)幅 |
BorderWidth |
内側ベベルのピクセルサイズ |
外側ベベル |
BevelOuter |
枠線の外側の凹凸 |
(外側ベベルの)幅 |
BevelWidth |
外側ベベルのピクセルサイズ |
背景イメージ |
BackImage |
背景に画像を貼り付ける |
|
BackImageMode |
背景の画像の配置方法 |
パネル色 |
Color |
パネル全体の基本色 |
枠線 |
BorderStyle |
境界線に凹線を引く |
グラデーション |
Gradient |
背景をグラデーションにする |
(グラデーションの)表示 |
Visible |
表示・非表示 |
(グラデーションの)方向 |
Direction |
グラデーションの方向 |
(グラデーションの)開始色 |
StartColor |
グラデーションの開始色 |
(グラデーションの)終了色 |
EndColor |
グラデーションの終了色 |
![](img/tip_ChartBG.gif)
壁 |
項目名 |
プロパティ名 |
意味 |
壁の表示 |
View3DWalls |
グラフボックス内の色づけ表示・非表示 |
左壁 |
LeftWall |
3Dにしたときにグラフボックスの左壁の色 |
(左壁)の透明 |
Visible |
表示・非表示 |
床 |
BottomWall |
3Dにしたときにグラフボックスの底辺の色 |
(床の)透明 |
Visible |
表示・非表示 |
背景 |
BackColor |
2D&3D時のグラフボックスの背景 |
(背景の)透明 |
Visible |
表示・非表示 |
※FontとかBrushとかわかりやすいのは省略します。 |
|
crtTest.Gradient.StartColor := clBlue;
crtTest.Gradient.EndColor := clAqua;
crtTest.Gradient.Visible := True;
crtTest.BackImage := 'c:\~\JPEG.jpg';
crtTest.BackColor := clWhite;
|
軸と目盛のこと(Axis) |
軸の目盛の設定は、Axisを使います。Axisは上下左右にそれぞれプロパティ群があるので、「TopAxis」「BottomAxis」「LeftAxis」「RightAxis」のいずれかを設定します。
普通は、左と下に目盛がつくのが普通なので、「LeftAxis」と「BottomAxis」がメインでしょう。
軸 LeftAxis,TopAxis,RightAxis,BottomAxis共通 |
項目名 |
プロパティ名 |
意味 |
軸の表示 |
AxisVisible |
四方の軸の一括表示・非表示 |
(各軸に対して)表示 |
.Visible |
各方向の表示・非表示 |
スケール |
|
|
最大/最小値の自動調整 |
Automatic |
目盛の表示幅を自動分配 |
|
AutomaticMaximum |
目盛最大部分の自動処理 |
|
AutomaticMinimum |
目盛最小部分の自動処理 |
最大値 |
Maximum |
目盛最大値 |
最小値 |
Minimum |
目盛最小値 |
対数軸 |
Logarithmic |
桁ごと目盛表示にします。 |
反転 |
Inverted |
表示方向を反転させます。 |
タイトル |
|
|
タイトル |
Title.Text |
目盛のタイトルを表示します。 |
(タイトルの)回転 |
Angle |
文字の回転表示(縦書きにするなら270°) |
ラベル |
|
|
(ラベルの)表示 |
Labels |
目盛数値の表示・非表示 |
(ラベルの)軸ラベル |
LabelsOnAxis |
対軸の境界線部分の目盛表示・非表示 |
(ラベルの)始点で揃える |
RoundFirstLabel |
|
目盛 |
|
|
(目盛の)軸枠 |
Axis |
目盛の基軸の詳細 |
(目盛の)主目盛 |
Ticks |
主目盛の詳細 |
(目盛・主目盛の)長さ |
TickLength |
目盛の長さ |
(目盛の)ラベルのみ |
TickOnLabelsOnly |
よくわからん |
(目盛の)内側 |
TicksInner |
軸枠からグラフ側に伸ばす目盛 |
(目盛・目盛の)長さ |
TickInnerLength |
軸枠からグラフ側に伸ばす目盛の長さ |
(目盛の)グリッド |
Grid |
グラフ内の主目盛用グリッドの詳細 |
(目盛の)中央に置く |
GridCentered |
よくわからん |
副目盛 |
|
|
(副目盛の)副目盛 |
MinorTicks |
小さい目盛の詳細 |
(副目盛の)副グリッド |
MinorGrid |
グラフ内の副目盛用グリッドの詳細 |
位置 |
|
|
(位置の)位置 |
PositionPercent |
グラフの境界線からの距離% |
(位置の)始点 |
StartPosition |
グラフボックス内の上からの開始地点 |
(位置の)終点 |
EndPosition |
グラフボックス内の下の終点 |
|
crtTest.AxisVisivle := True;crtTest.LeftAxis.Visible := True;
crtTest.LeftAxis.Title.Caption := '売上金額';
crtTest.LeftAxis.Title.Angle := 270;
crtTest.LeftAxis.Title.Font.Name := '@MS ゴシック';
//
|
凡例のこと(Legend) |
凡例は、入力値の集計一覧表みたいなもんです。
デフォルトで、グラフ右上に表示されています。
凡例 |
項目名 |
プロパティ名 |
意味 |
凡例 |
Legend |
|
表示 |
.Visible |
表示・非表示 |
背景色 |
.Color |
凡例矩形の背景色 |
フォント |
.Font |
凡例の書体 |
枠 |
.Frame |
凡例の枠の色 |
凡例の種類 |
.LegendStyle |
凡例に表示する種類 |
凡例の内容 |
.TextStyle |
凡例に表示する内容 |
位置合わせ |
.ResizeChart |
表示サイズオーバーを修正 |
順序反転 |
.Inveted |
集計一覧の表示順を反転 |
上端の位置 |
.TopPos |
コンポーネント上端からのピクセル距離 |
色の幅 |
.ColorWidth |
集計一覧の色ヘッダーの表示幅 |
位置 |
.Alignment |
凡例のグラフに対する位置関係 |
(位置の)余白 |
.HolizMargin |
凡例とグラフの間の余白 |
分割線 |
.DividingLines |
一覧のそれぞれを罫線で分割 |
(影の)色 |
.ShadowColor |
凡例枠の背後の影色 |
(影の)サイズ |
.ShadowSize |
凡例枠の背後の影サイズ |
|
crtTest.Legend.Visible := True;
|
3Dのこと(View3DOptions) |
グラフを3Dで表現できます。
3D |
項目名 |
プロパティ名 |
意味 |
3次元 |
View3D |
3D化適用・解除 |
効果 |
Chart3DPercent |
|
3D |
View3DOptions |
|
直交 |
.Orthogonal |
軸の回転などの適用フラグ |
ズーム |
.Zoom |
表示縮尺 |
回転 |
.Rotation |
「直交」を外したら回転が可能になる |
仰角 |
.Elevation |
頭上奥行きの角度 |
文字の拡大 |
.ZoomText |
|
水平オフセット |
.HolizOffset |
グラフの位置を横移動 |
垂直オフセット |
.VertOffset |
グラフの位置を縦移動 |
立体 |
.Perspective |
横一文字を軸に回転 |
|
系列について(棒グラフ編) |
グラフのカテゴリー毎(例えば個人別売上表と個人別粗利益表)という二つのグラフを表示させたりできます。
形式 |
項目名 |
プロパティ名 |
意味 |
スタイル |
BarStyle |
|
枠 |
BarPen |
|
パターン |
BarBrush |
|
色を分ける |
ColorEachPoint |
系列で色を統一するか、色の自動分配 |
複合 |
Multibar |
複数の系列の並べ方を指定 |
始点をずらす |
UseYOrigin |
|
棒の幅 |
BarWidthPercent |
|
棒の位置 |
OffsetPercent |
|
立体部分を暗くする |
Dark3D |
|
棒の脇に余白をとる |
SideMargins |
|
マーカ位置の自動調整 |
AutoMarkPosition |
|
一般 |
項目名 |
プロパティ名 |
意味 |
(一般の)凡例を表示する |
ShowInLegend |
|
(一般の)カーソル |
Cursor |
|
(書式の)値 |
ValueFormat |
|
(書式の)百分率 |
PercentFormat |
|
水平軸 |
HorizAxis |
|
日付書式 |
XValues.DateTime |
|
垂直軸 |
VertAxis |
|
日付書式 |
YValues.DateTime |
|
マーカ |
項目名 |
プロパティ名 |
意味 |
表示 |
Marks.Visible |
マーカーの表示・非表示 |
(形式の)背景色 |
Marks.BackColor |
|
(形式の)透明 |
Marks.Transparent |
|
(形式の)フォント |
Marks.Font |
|
(形式の)枠 |
Marks.Frame |
|
(形式の)クリッピング |
Marks.Clip |
|
(引き出し線の)色 |
Marks.Arrow.Color |
|
(引き出し線の)長さ |
Marks.ArrowLength |
|
スタイル |
Marks.Style |
グラフ上に乗せる文字の内容 |
|
サンプルプログラム(棒グラフ編) |
下図の図面をコーディングで表示します。
|
procedure TForm1.ButtonClick(Sender: TObject);
begin
crtTest.Title.Visible := True;
crtTest.Title.Text.Clear;
crtTest.Title.Text.Add('●月度個人別成績表');
crtTest.Foot.Visible := True;
crtTest.Foot.Text.Clear;
crtTest.Foot.Text.Add('来月に向けて追い込みをかけましょう!');
crtTest.BackColor := clWhite;
crtTest.LeftAxis.Visible := True;
crtTest.AxisVisible := True;
crtTest.LeftAxis.Visible := True;
crtTest.LeftAxis.Title.Caption := '売上金額';
crtTest.Legend.Visible := True;
crtTest.Series[0].Clear;
crtTest.Series[0].Add(1500000,'佐藤',clTeeColor);
crtTest.Series[0].Add(1100000,'中野',clTeeColor);
crtTest.Series[0].Add(2500000,'岡田',clTeeColor);
crtTest.Series[0].Add(1800000,'後藤',clTeeColor);
crtTest.Series[0].Add(2900000,'山下',clTeeColor);
crtTest.Series[1].Clear;
crtTest.Series[1].Add(400000,'佐藤',clTeeColor);
crtTest.Series[1].Add(400000,'中野',clTeeColor);
crtTest.Series[1].Add(1500000,'岡田',clTeeColor);
crtTest.Series[1].Add(1000000,'後藤',clTeeColor);
crtTest.Series[1].Add(1900000,'山下',clTeeColor);
crtTest.Series[0].Marks.Visible := True;
crtTest.Series[1].Marks.Visible := False;
crtTest.Series[0].Marks.Style := smsLabel;
crtTest.Series[1].Marks.Style := smsLabel;
crtTest.Series[0].ColorEachPoint := False;
crtTest.Series[1].ColorEachPoint := False;
crtTest.Series[0].SeriesColor := clNavy;
crtTest.Series[1].SeriesColor := clLime;
end;
|
描画 |
キャンバスに描画するメソッドも必要ですね。
ビットマップ描画 |
TPrinterなどのビットマップキャンバスに描画します。 |
Draw(TCanvas,TRect); |
メタファイル描画 |
メタファイルキャンバスを用意して書き込みます。 |
DrawToMetaCanvas(TCanvas,TRect); |
|
解析するのめっちゃしんどかったです。
特に系列のヘルプが充実していないのと、コード支援機能が働かないこと。
まだ、意味のわからないプロパティがあるので、 もう少し理解できたら詳しく更新します。
|