我們正在使用FastReport工具進行報告。 在這份報告中,有一個teechart,我們希望以某些條形圖的最大值繪製一條線。我們想在圖表上以最大價值劃一條線
我們試圖用增加新的系列解決問題,但問題是該行不會啓動在x = 0 如何才能實現,將有最大值線從x = 0開始(在y軸之後)。
Example with series, not starting at x=0
用於描繪線的代碼實例:
void __fastcall TFTedPoro::cxButton2Click(TObject *Sender)
{
double XMin, XMax, YVal;
frxReport1->LoadFromFile("porocilo.fr3");
TfrxChartView *cv;
cv = (TfrxChartView *)frxReport1->FindObject("Chart1");
if (cv != NULL)
{
cv->Chart->Series[0]->Marks->Visible = false;
cv->Chart->Series[1]->Marks->Visible = false;
cv->Chart->Series[2]->Marks->Visible = false;
cv->Chart->Series[3]->Marks->Visible = false;
cv->Chart->Series[4]->Marks->Visible = false;
cv->Chart->Series[5]->Marks->Visible = false;
cv->Chart->Series[6]->Marks->Visible = false;
if (max_vred >= 350)
{
cv->Chart->LeftAxis->Maximum = max_vred;
}
}
XMin = cv->Chart->Series[0]->XValues->MinValue;
XMax = cv->Chart->Series[0]->XValues->MaxValue;
YVal = cv->Chart->Series[0]->YValues->MaxValue;
for (int i = 1; i < cv->Chart->SeriesCount()-1;i++)
{
XMin = Min(XMin, cv->Chart->Series[i]->XValues->MinValue);
XMax = Max(XMax, cv->Chart->Series[i]->XValues->MaxValue);
YVal = Max(YVal, cv->Chart->Series[i]->YValues->MaxValue);
}
cv->Chart->Series[8]->AddXY(XMin-1, YVal);
cv->Chart->Series[8]->AddXY(XMax+1, YVal);
cv->Chart->Axes->Bottom->SetMinMax(XMin-0.5, XMax+0.5);
frxReport1->ShowReport(true);
}
結果看起來像這樣: Chart with code on button click
在圖像中我看到一個紅色的水平線在y = 350。我不確定要明白它有什麼問題。紅線似乎從左邊的y軸開始。 – Yeray
這是我們想要實現的,但我們不能。如果我們爲一行添加系列,行不會從x = 0開始 - 請參閱上面的附加圖像 –