Hello
I have a problem with doubled x values, i create whole chart from code. and cant get rid of it. Image i attached is created with SaveAllPanesToBitmap function. And the same code creates a nice chart on form. Could i ask if my code is ok?
Chart_celoten:=TAdvChartView.Create(Form);
Chart_celoten.Parent:=Form;
Chart_celoten.BeginUpdate;
Chart_celoten.Color:= clsilver;
pn := Chart_celoten.Panes.Add;
pn.Legend.Font.Size:=12; //Novo
pn.Name:= 'osnovni';
pn.Margin.TopMargin := 20;
pn.Margin.RightMargin := 40;
pn.CrossHair.Visible:= true;
pn.Range.RangeFrom := 0;
pn.Range.RangeTo := 10000;
pn.Legend.Alignment:= laTopRight;
pn.CrossHair.CrossHairType:= chtFullSizeCrossHairAtCursor;
pn.XGrid.MajorDistance:= 300;
pn.XGrid.MinorDistance:= 300;
pn.XGrid.Visible:= true;
pn.YGrid.MajorDistance:= 10;
pn.YGrid.MinorDistance:= 10;
pn.YGrid.Visible:= true;
pn.XAxis.LineWidth:= 2;
pn.XAxis.AutoSize:=true; // to
pn.YAxis.LineWidth:= 2;
pn.BackGround.Color:= clWhite;
pn.BackGround.ColorTo:= clWhite;
pn.Legend.BorderColor:= Chart_celoten.Color;
pn.Legend.BorderWidth:= 0;
pn.Legend.Color:= clnone;
pn.Legend.RectangleSize:= 10;
pn.Legend.RectangleSpacing:= 10;
pn.YAxis.AutoSize := true;
{tlak}
s := pn.Series.add;
s.Name:= 'tlak';
s.LineColor := clRed;
s.AutoRange := arDisabled;
s.Maximum:=ChartRanges.RangeTlak;
s.Minimum:=0;
s.YAxis.MajorFont.Color := s.LineColor;
s.YAxis.MajorFont.Size:=12;
s.YAxis.MajorUnitVisible:=true;
s.YAxis.MinorUnitVisible:=false;
s.YAxis.TextLeft.Font.Size:=12;
s.Chart.XAxis.Font.Size:=12;
s.Chart.XAxis.Text:= 'Q [l/s]';
s.XAxis.MajorFont.Size:=12;
s.XAxis.MinorFont.Size:=12;
s.Chart.XAxis.Size:= 90;
s.LineWidth:= 2;
s.LegendText:= 'p [Pa]';
s.ChartType:= ctXYLine;
s.Marker.MarkerSize:= 3;
s.Marker.MarkerType:= mNone;
s.Marker.MarkerLineWidth:= 1;
s.Marker.MarkerColor:= clnone;
s.XAxis.Visible:= true;
s.XAxis.AutoUnits:= true;
s.ZeroLine:= true;
s.YAxis.TextLeft.Text:= 'p [Pa]';
s.YAxis.TextLeft.Position:= ctCenter;
s.YAxis.TextLeft.Font.Color:= s.LineColor;
s.YAxis.MajorUnit:=10;
s.CrossHairYValue.Visible:= true;
{obrati}
s := pn.Series.add;
s.Name:= 'obrati';
s.LineColor := clGreen;
s.AutoRange := arDisabled;
s.Maximum:=ChartRanges.RangeObrati;
s.Minimum:=0;
s.YAxis.MajorFont.Color := s.LineColor;
s.YAxis.MajorFont.Size:=12;
s.YAxis.MajorUnitVisible:=true;
s.YAxis.MinorUnitVisible:=false;
s.YAxis.TextLeft.Font.Size:=12;
s.LineWidth:= 2;
s.LegendText:= 'rpm [1/min]';
s.ChartType:= ctXYLine;
s.Marker.MarkerSize:= 3;
s.Marker.MarkerType:= mNone;
s.Marker.MarkerLineWidth:= 1;
s.Marker.MarkerColor:= clNone;
s.XAxis.Visible:= false;
s.YAxis.TextLeft.Text:= 'rpm [1/min]';
s.YAxis.TextLeft.Position:= ctCenter;
s.YAxis.TextLeft.Font.Color:= s.LineColor;
s.YAxis.MajorUnit:=10;
s.CrossHairYValue.Visible:= true;
{moÄ}
s := pn.Series.add;
s.Name:= 'moc';
s.AutoRange := arDisabled;
s.Maximum:=ChartRanges.RangeMoc;
s.Minimum:=0;
s.LineColor := clBlue;
s.LineWidth:= 2;
s.YAxis.MajorFont.Color := s.LineColor;
s.YAxis.MajorFont.Size:=12;
s.YAxis.MajorUnitVisible:=true;
s.YAxis.MinorUnitVisible:=false;
s.YAxis.TextLeft.Font.Size:=12;
s.LegendText:= 'P [W]';
s.ChartType:= ctXYLine;
s.Marker.MarkerSize:= 3;
s.Marker.MarkerType:= mNone;
s.Marker.MarkerLineWidth:= 1;
s.Marker.MarkerColor:= clnone;
s.XAxis.Visible:= false;
s.YAxis.TextLeft.Text:= 'P [W]';
s.YAxis.TextLeft.Position:= ctCenter;
s.YAxis.TextLeft.Font.Color:= s.LineColor;
s.YAxis.MajorUnit:=10;
s.CrossHairYValue.Visible:= true;
Chart_celoten.EndUpdate;
After that i just insert data and change pn.Range.RangeTo to proper value.
Hi,
You can turn off the XValues with
pn.Series[0].XAxis.XYValues := False;
for the Series which has the X-Axis enabled.
Kind Regards,
Pieter
That did it.
Tnx for quick support