我有一個DBChart
與5 PieSerie
就可以了。 注意如何截斷最後一個餅圖。我能做些什麼來避免這種情況?我正在使用TeeChart Standard v2011.03.32815 VCL;除了改變顏色主題之外,我還沒有改變圖表的任何屬性。 是什麼導致TeeChart PieSerie被截斷?
這裏是幀的DFM含有DBChart
object frmAdminStats: TfrmAdminStats
Left = 0
Top = 0
Width = 730
Height = 610
BiDiMode = bdRightToLeft
DoubleBuffered = True
ParentBiDiMode = False
ParentDoubleBuffered = False
TabOrder = 0
object DBChart1: TDBChart
Left = 0
Top = 0
Width = 730
Height = 610
AllowPanning = pmNone
Foot.Font.Name = 'Tahoma'
SubFoot.Font.Name = 'Tahoma'
SubTitle.Font.Name = 'Tahoma'
Title.Font.Name = 'Tahoma'
Title.Text.Strings = (
'')
Title.Visible = False
BottomAxis.LabelsFont.Name = 'Tahoma'
BottomAxis.Title.Font.Name = 'Tahoma'
DepthAxis.LabelsFont.Name = 'Tahoma'
DepthAxis.Title.Font.Name = 'Tahoma'
DepthTopAxis.LabelsFont.Name = 'Tahoma'
DepthTopAxis.Title.Font.Name = 'Tahoma'
LeftAxis.LabelsFont.Name = 'Tahoma'
LeftAxis.Title.Font.Name = 'Tahoma'
Legend.Font.Name = 'Tahoma'
Legend.ResizeChart = False
Legend.TextStyle = ltsPlain
Legend.Title.Font.Name = 'Tahoma'
Legend.Transparent = True
Legend.Visible = False
Panning.MouseWheel = pmwNone
RightAxis.LabelsFont.Name = 'Tahoma'
RightAxis.Title.Font.Name = 'Tahoma'
TopAxis.LabelsFont.Name = 'Tahoma'
TopAxis.Title.Font.Name = 'Tahoma'
View3DOptions.Elevation = 315
View3DOptions.Orthogonal = False
View3DOptions.Perspective = 0
View3DOptions.Rotation = 360
Zoom.Allow = False
OnAfterDraw = DBChart1AfterDraw
OnBeforeDrawChart = DBChart1BeforeDrawChart
Align = alClient
TabOrder = 0
OnClick = DBChart1Click
ColorPaletteIndex = 13
object Series1: TPieSeries
LegendTitle = #1580#1606#1587#1740#1578
Cursor = crHandPoint
Marks.Arrow.Visible = True
Marks.Callout.Brush.Color = clBlack
Marks.Callout.Arrow.Visible = True
Marks.Visible = True
Title = #1580#1606#1587#1740#1578
XValues.Order = loAscending
YValues.Name = 'Pie'
YValues.Order = loNone
OnClick = Series1Click
ExplodeBiggest = 15
Frame.InnerBrush.BackColor = clRed
Frame.InnerBrush.Gradient.EndColor = clGray
Frame.InnerBrush.Gradient.MidColor = clWhite
Frame.InnerBrush.Gradient.StartColor = 4210752
Frame.InnerBrush.Gradient.Visible = True
Frame.MiddleBrush.BackColor = clYellow
Frame.MiddleBrush.Gradient.EndColor = 8553090
Frame.MiddleBrush.Gradient.MidColor = clWhite
Frame.MiddleBrush.Gradient.StartColor = clGray
Frame.MiddleBrush.Gradient.Visible = True
Frame.OuterBrush.BackColor = clGreen
Frame.OuterBrush.Gradient.EndColor = 4210752
Frame.OuterBrush.Gradient.MidColor = clWhite
Frame.OuterBrush.Gradient.StartColor = clSilver
Frame.OuterBrush.Gradient.Visible = True
Frame.Visible = False
Frame.Width = 4
OtherSlice.Legend.Visible = False
PiePen.Visible = False
RotationAngle = 75
end
object Series2: TPieSeries
Cursor = crHandPoint
Marks.Arrow.Visible = True
Marks.Callout.Brush.Color = clBlack
Marks.Callout.Arrow.Visible = True
Marks.Visible = True
SeriesColor = clRed
Title = #1576#1740#1605#1607' '#1711#1586#1575#1585#1575#1606
XValues.Order = loAscending
YValues.Name = 'Pie'
YValues.Order = loNone
OnClick = Series1Click
ExplodeBiggest = 15
Frame.InnerBrush.BackColor = clRed
Frame.InnerBrush.Gradient.EndColor = clGray
Frame.InnerBrush.Gradient.MidColor = clWhite
Frame.InnerBrush.Gradient.StartColor = 4210752
Frame.InnerBrush.Gradient.Visible = True
Frame.MiddleBrush.BackColor = clYellow
Frame.MiddleBrush.Gradient.EndColor = 8553090
Frame.MiddleBrush.Gradient.MidColor = clWhite
Frame.MiddleBrush.Gradient.StartColor = clGray
Frame.MiddleBrush.Gradient.Visible = True
Frame.OuterBrush.BackColor = clGreen
Frame.OuterBrush.Gradient.EndColor = 4210752
Frame.OuterBrush.Gradient.MidColor = clWhite
Frame.OuterBrush.Gradient.StartColor = clSilver
Frame.OuterBrush.Gradient.Visible = True
Frame.Visible = False
Frame.Width = 4
OtherSlice.Legend.Visible = False
PiePen.Visible = False
RotationAngle = 75
end
object Series3: TPieSeries
LegendTitle = #1576#1740#1605#1607' '#1711#1586#1575#1585#1575#1606' '#1605#1705#1605#1604
Cursor = crHandPoint
Marks.Arrow.Visible = True
Marks.Callout.Brush.Color = clBlack
Marks.Callout.Arrow.Visible = True
Marks.Visible = True
Title = #1576#1740#1605#1607' '#1711#1586#1575#1585#1575#1606' '#1605#1705#1605#1604
XValues.Order = loAscending
YValues.Name = 'Pie'
YValues.Order = loNone
OnClick = Series1Click
ExplodeBiggest = 15
Frame.InnerBrush.BackColor = clRed
Frame.InnerBrush.Gradient.EndColor = clGray
Frame.InnerBrush.Gradient.MidColor = clWhite
Frame.InnerBrush.Gradient.StartColor = 4210752
Frame.InnerBrush.Gradient.Visible = True
Frame.MiddleBrush.BackColor = clYellow
Frame.MiddleBrush.Gradient.EndColor = 8553090
Frame.MiddleBrush.Gradient.MidColor = clWhite
Frame.MiddleBrush.Gradient.StartColor = clGray
Frame.MiddleBrush.Gradient.Visible = True
Frame.OuterBrush.BackColor = clGreen
Frame.OuterBrush.Gradient.EndColor = 4210752
Frame.OuterBrush.Gradient.MidColor = clWhite
Frame.OuterBrush.Gradient.StartColor = clSilver
Frame.OuterBrush.Gradient.Visible = True
Frame.Visible = False
Frame.Width = 4
OtherSlice.Legend.Visible = False
PiePen.Visible = False
RotationAngle = 75
end
object Series4: TPieSeries
Cursor = crHandPoint
Marks.Arrow.Visible = True
Marks.Callout.Brush.Color = clBlack
Marks.Callout.Arrow.Visible = True
Marks.Visible = True
Title = #1662#1586#1588#1705#1575#1606
XValues.Order = loAscending
YValues.Name = 'Pie'
YValues.Order = loNone
OnClick = Series1Click
ExplodeBiggest = 15
Frame.InnerBrush.BackColor = clRed
Frame.InnerBrush.Gradient.EndColor = clGray
Frame.InnerBrush.Gradient.MidColor = clWhite
Frame.InnerBrush.Gradient.StartColor = 4210752
Frame.InnerBrush.Gradient.Visible = True
Frame.MiddleBrush.BackColor = clYellow
Frame.MiddleBrush.Gradient.EndColor = 8553090
Frame.MiddleBrush.Gradient.MidColor = clWhite
Frame.MiddleBrush.Gradient.StartColor = clGray
Frame.MiddleBrush.Gradient.Visible = True
Frame.OuterBrush.BackColor = clGreen
Frame.OuterBrush.Gradient.EndColor = 4210752
Frame.OuterBrush.Gradient.MidColor = clWhite
Frame.OuterBrush.Gradient.StartColor = clSilver
Frame.OuterBrush.Gradient.Visible = True
Frame.Visible = False
Frame.Width = 4
OtherSlice.Legend.Visible = False
PiePen.Visible = False
RotationAngle = 75
end
object Series5: TPieSeries
Cursor = crHandPoint
Marks.Arrow.Visible = True
Marks.Callout.Brush.Color = clBlack
Marks.Callout.Arrow.Visible = True
Marks.Visible = True
Title = #1576#1582#1588' '#1607#1575
XValues.Order = loAscending
YValues.Name = 'Pie'
YValues.Order = loNone
OnClick = Series1Click
ExplodeBiggest = 15
Frame.InnerBrush.BackColor = clRed
Frame.InnerBrush.Gradient.EndColor = clGray
Frame.InnerBrush.Gradient.MidColor = clWhite
Frame.InnerBrush.Gradient.StartColor = 4210752
Frame.InnerBrush.Gradient.Visible = True
Frame.MiddleBrush.BackColor = clYellow
Frame.MiddleBrush.Gradient.EndColor = 8553090
Frame.MiddleBrush.Gradient.MidColor = clWhite
Frame.MiddleBrush.Gradient.StartColor = clGray
Frame.MiddleBrush.Gradient.Visible = True
Frame.OuterBrush.BackColor = clGreen
Frame.OuterBrush.Gradient.EndColor = 4210752
Frame.OuterBrush.Gradient.MidColor = clWhite
Frame.OuterBrush.Gradient.StartColor = clSilver
Frame.OuterBrush.Gradient.Visible = True
Frame.Visible = False
Frame.Width = 4
OtherSlice.Legend.Visible = False
PiePen.Visible = False
RotationAngle = 75
end
end
object qStats: TADOQuery
Connection = dmLabData.ADOConnection
ExecuteOptions = [eoAsyncExecute]
Parameters = <>
Left = 48
Top = 40
end
object tmAdminStats: TJvTimer
Enabled = False
Interval = 5000
OnTimer = tmAdminStatsTimer
Left = 48
Top = 112
end
end
一些代碼如何可以重現 –
@DavidHeffernan實際上沒有代碼。每個餅圖都直接從查詢中繪製出來。類似於'SELECT COUNT(TestID)AS [Cnt],PatientTestSections.Name FROM PatientTests,PatientTestSections WHERE PatientTests.Sec = PatientTestSections.SecID AND PatientTests.PID = PatientTestSections.PID GROUP BY PatientTestSections.Name' for last chart –
@DavidHeffernan I忘記。我在'AfterDraw'中有這樣的代碼來編寫每個系列的標題:'var i,X,Y:Integer; 開始 對於i:= 0至DBChart1.SeriesCount - 1做 與(DBChart1.Series [I]作爲TPieSeries),DBChart1.Canvas做 如果可見然後 開始 X:= CircleXCenter - (文本寬度(標題)DIV 2); Y:= CircleRect.Top +(CircleRect.Bottom - CircleRect.Top)div 2; TextOut(X,Y,Title); 結束; 結束; ' –