vb.net chart axis.X only every 5th Label should be shown.
-
The following problem: Chart x-axis represents calendar weeks from 2021/35 to 2022/36 (current week 2022/19). I don't want to represent every week as a label, but only every 5th week. Up to the current week it looks relatively good, but after that every week is displayed as label.
newchart(chart1)'erzeugt ein neues leeres chart
Dim chartArea1 As New ChartArea("Default")
chart1.AntiAliasing = AntiAliasingStyles.None
chart1.TextAntiAliasingQuality = TextAntiAliasingQuality.Normal
chart1.ChartAreas.Add(chartArea1)
chart1.ChartAreas("Default").CursorX.IsUserEnabled = False
chart1.ChartAreas("Default").CursorX.IsUserSelectionEnabled = False
chart1.ChartAreas("Default").BackGradientStyle = GradientStyle.None
'chart1.ChartAreas("Default").Position.Auto = Truechart1.ChartAreas("Default").Position.Auto = False
chart1.ChartAreas("Default").Position.X = 0
chart1.ChartAreas("Default").Position.Y = 10
chart1.ChartAreas("Default").Position.Width = ChartAreasWidth
chart1.ChartAreas("Default").Position.Height = ChartAreasHeight - 4chart1.ChartAreas("Default").AxisX.ScaleView.Zoomable = True
chart1.ChartAreas("Default").AxisX.ScrollBar.IsPositionedInside = True
chart1.ChartAreas("Default").AxisX.MajorGrid.Enabled = False
chart1.ChartAreas("Default").AxisX.MajorGrid.LineWidth = 1chart1.ChartAreas("Default").AxisX.IntervalType = DateTimeIntervalType.Weeks
chart1.ChartAreas("Default").AxisX.Interval = 1
chart1.ChartAreas("Default").AxisX.LabelAutoFitStyle = LabelAutoFitStyles.DecreaseFont
chart1.ChartAreas("Default").AxisX.LabelAutoFitMinFontSize = 7
chart1.ChartAreas("Default").AxisX.LabelStyle.Font = My.Settings.fontbold8
chart1.ChartAreas("Default").AxisX.LabelStyle.Angle = 90
chart1.ChartAreas("Default").AxisX.MajorTickMark.Enabled = True
chart1.ChartAreas("Default").AxisX.MinorTickMark.Enabled = False
chart1.ChartAreas("Default").AxisX.Minimum = von_X.ToOADate()
chart1.ChartAreas("Default").AxisX.Maximum = bis_X.ToOADate()
chart1.ChartAreas("Default").AxisX.IsMarginVisible = Falsechart1.ChartAreas("Default").AxisY.MinorTickMark.Enabled = True
chart1.ChartAreas("Default").AxisY.MinorTickMark.TickMarkStyle = TickMarkStyle.InsideArea
chart1.ChartAreas("Default").AxisY.MajorGrid.LineWidth = 1
chart1.ChartAreas("Default").AxisY.MajorGrid.LineColor = Color.Black
chart1.ChartAreas("Default").AxisY.LabelStyle.Font = My.Settings.fontbold8
chart1.ChartAreas("Default").AxisY.LabelStyle.Format = "C0"
chart1.ChartAreas("Default").AxisY.LabelAutoFitStyle = LabelAutoFitStyles. -
The following problem: Chart x-axis represents calendar weeks from 2021/35 to 2022/36 (current week 2022/19). I don't want to represent every week as a label, but only every 5th week. Up to the current week it looks relatively good, but after that every week is displayed as label.
newchart(chart1)'erzeugt ein neues leeres chart
Dim chartArea1 As New ChartArea("Default")
chart1.AntiAliasing = AntiAliasingStyles.None
chart1.TextAntiAliasingQuality = TextAntiAliasingQuality.Normal
chart1.ChartAreas.Add(chartArea1)
chart1.ChartAreas("Default").CursorX.IsUserEnabled = False
chart1.ChartAreas("Default").CursorX.IsUserSelectionEnabled = False
chart1.ChartAreas("Default").BackGradientStyle = GradientStyle.None
'chart1.ChartAreas("Default").Position.Auto = Truechart1.ChartAreas("Default").Position.Auto = False
chart1.ChartAreas("Default").Position.X = 0
chart1.ChartAreas("Default").Position.Y = 10
chart1.ChartAreas("Default").Position.Width = ChartAreasWidth
chart1.ChartAreas("Default").Position.Height = ChartAreasHeight - 4chart1.ChartAreas("Default").AxisX.ScaleView.Zoomable = True
chart1.ChartAreas("Default").AxisX.ScrollBar.IsPositionedInside = True
chart1.ChartAreas("Default").AxisX.MajorGrid.Enabled = False
chart1.ChartAreas("Default").AxisX.MajorGrid.LineWidth = 1chart1.ChartAreas("Default").AxisX.IntervalType = DateTimeIntervalType.Weeks
chart1.ChartAreas("Default").AxisX.Interval = 1
chart1.ChartAreas("Default").AxisX.LabelAutoFitStyle = LabelAutoFitStyles.DecreaseFont
chart1.ChartAreas("Default").AxisX.LabelAutoFitMinFontSize = 7
chart1.ChartAreas("Default").AxisX.LabelStyle.Font = My.Settings.fontbold8
chart1.ChartAreas("Default").AxisX.LabelStyle.Angle = 90
chart1.ChartAreas("Default").AxisX.MajorTickMark.Enabled = True
chart1.ChartAreas("Default").AxisX.MinorTickMark.Enabled = False
chart1.ChartAreas("Default").AxisX.Minimum = von_X.ToOADate()
chart1.ChartAreas("Default").AxisX.Maximum = bis_X.ToOADate()
chart1.ChartAreas("Default").AxisX.IsMarginVisible = Falsechart1.ChartAreas("Default").AxisY.MinorTickMark.Enabled = True
chart1.ChartAreas("Default").AxisY.MinorTickMark.TickMarkStyle = TickMarkStyle.InsideArea
chart1.ChartAreas("Default").AxisY.MajorGrid.LineWidth = 1
chart1.ChartAreas("Default").AxisY.MajorGrid.LineColor = Color.Black
chart1.ChartAreas("Default").AxisY.LabelStyle.Font = My.Settings.fontbold8
chart1.ChartAreas("Default").AxisY.LabelStyle.Format = "C0"
chart1.ChartAreas("Default").AxisY.LabelAutoFitStyle = LabelAutoFitStyles.There is no option to do this automatically. You would have to go through the Series Points collection and clear the AxisLabel property of every data point you do not want to have a label.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave Kreskowiak -
The following problem: Chart x-axis represents calendar weeks from 2021/35 to 2022/36 (current week 2022/19). I don't want to represent every week as a label, but only every 5th week. Up to the current week it looks relatively good, but after that every week is displayed as label.
newchart(chart1)'erzeugt ein neues leeres chart
Dim chartArea1 As New ChartArea("Default")
chart1.AntiAliasing = AntiAliasingStyles.None
chart1.TextAntiAliasingQuality = TextAntiAliasingQuality.Normal
chart1.ChartAreas.Add(chartArea1)
chart1.ChartAreas("Default").CursorX.IsUserEnabled = False
chart1.ChartAreas("Default").CursorX.IsUserSelectionEnabled = False
chart1.ChartAreas("Default").BackGradientStyle = GradientStyle.None
'chart1.ChartAreas("Default").Position.Auto = Truechart1.ChartAreas("Default").Position.Auto = False
chart1.ChartAreas("Default").Position.X = 0
chart1.ChartAreas("Default").Position.Y = 10
chart1.ChartAreas("Default").Position.Width = ChartAreasWidth
chart1.ChartAreas("Default").Position.Height = ChartAreasHeight - 4chart1.ChartAreas("Default").AxisX.ScaleView.Zoomable = True
chart1.ChartAreas("Default").AxisX.ScrollBar.IsPositionedInside = True
chart1.ChartAreas("Default").AxisX.MajorGrid.Enabled = False
chart1.ChartAreas("Default").AxisX.MajorGrid.LineWidth = 1chart1.ChartAreas("Default").AxisX.IntervalType = DateTimeIntervalType.Weeks
chart1.ChartAreas("Default").AxisX.Interval = 1
chart1.ChartAreas("Default").AxisX.LabelAutoFitStyle = LabelAutoFitStyles.DecreaseFont
chart1.ChartAreas("Default").AxisX.LabelAutoFitMinFontSize = 7
chart1.ChartAreas("Default").AxisX.LabelStyle.Font = My.Settings.fontbold8
chart1.ChartAreas("Default").AxisX.LabelStyle.Angle = 90
chart1.ChartAreas("Default").AxisX.MajorTickMark.Enabled = True
chart1.ChartAreas("Default").AxisX.MinorTickMark.Enabled = False
chart1.ChartAreas("Default").AxisX.Minimum = von_X.ToOADate()
chart1.ChartAreas("Default").AxisX.Maximum = bis_X.ToOADate()
chart1.ChartAreas("Default").AxisX.IsMarginVisible = Falsechart1.ChartAreas("Default").AxisY.MinorTickMark.Enabled = True
chart1.ChartAreas("Default").AxisY.MinorTickMark.TickMarkStyle = TickMarkStyle.InsideArea
chart1.ChartAreas("Default").AxisY.MajorGrid.LineWidth = 1
chart1.ChartAreas("Default").AxisY.MajorGrid.LineColor = Color.Black
chart1.ChartAreas("Default").AxisY.LabelStyle.Font = My.Settings.fontbold8
chart1.ChartAreas("Default").AxisY.LabelStyle.Format = "C0"
chart1.ChartAreas("Default").AxisY.LabelAutoFitStyle = LabelAutoFitStyles.You should be able to specify which column to use for Labels. Add an extra "label" column to your data and blank out the first 4 in every 5.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I