ASP.NET堆叠条形图标记
我试图以编程方式在堆叠条形图上添加标记,但它们似乎没有显示出来。实际上,我需要在数据点的平均值上显示一个标记,但现在,我甚至不能在图表上显示一个简单的标记 我做错了什么 代码: 暗图作为新图表 chart.ID=DtDistinct.Rows(I)(“coursesid”) 这是我正在尝试做的一个图像。我知道上面的代码不会给我下面的图片,但在我意识到标记不能出现在条形图上之前,我正试图用上面的代码找到一个解决方法 我想看看条形图上的条纹线。条纹线应出现在点的计算平均值上 所以,我可以做的另一种方法是使用注释,因为堆叠条形图不支持标记。我编写了下面的代码来添加注释行,但它仍然不能提供我所需的输出,因为我不知道如何为图表上的每个Y值执行该操作 这是我的密码: 暗图作为新图表 chart.ID=DtDistinct.Rows(I)(“coursesid”) 将图表区域变暗为新的图表区域 chart.ChartAreas.Add(图表区域) 图表.DataBindCrossTable(DtRecords.DefaultView,“结果分数”、“短名称”、“RecordsPerGroup”、“Label=RecordsPerGroup”) 以下是我通过上述代码得到的信息: 这里是我需要的:注意对于每个条带,带线的值是如何不同的ASP.NET堆叠条形图标记,asp.net,charts,stacked-chart,Asp.net,Charts,Stacked Chart,我试图以编程方式在堆叠条形图上添加标记,但它们似乎没有显示出来。实际上,我需要在数据点的平均值上显示一个标记,但现在,我甚至不能在图表上显示一个简单的标记 我做错了什么 代码: 暗图作为新图表 chart.ID=DtDistinct.Rows(I)(“coursesid”) 这是我正在尝试做的一个图像。我知道上面的代码不会给我下面的图片,但在我意识到标记不能出现在条形图上之前,我正试图用上面的代码找到一个解决方法 我想看看条形图上的条纹线。条纹线应出现在点的计算平均值上 所以,我可以做的另一种
尺寸标注2作为新的线性标注()
annotation2.IsSizeAlwaysRelative=False
annotation2.AxisX=图表。图表区域(0)。AxisX
annotation2.AxisY=图表。图表区域(0)。AxisY
注释2.高度=1
注释2.宽度=0
注释2.LineWidth=1.5
annotation2.StartCap=LineAnchorCapStyle.None
annotation2.EndCap=LineAnchorCapStyle.None
annotation2.AnchorX=AvgVar
annotation2.ToolTip=“Average=”和AvgVar
选择案例行
案例1
注释2.AnchorY=4.5
案例2
注释2.Ancory=3.5
案例3
注释2.AnchorY=2.5
案例4
注释2.Ancory=1.5
案例5
注释2.Ancory=0.5
结束选择
“我刚刚看到堆叠条形图不支持标记。有没有其他方法可以突出图表上的某一点?看看我刚才发布的。如果没有帮助的话,那么一张你正试图做的图片会有所帮助。谢谢!我在原始问题中添加了我正在寻找的图像。我想在条形图的计算平均值上显示条带线或标记。请查看箱线图
图表类型。这是最接近你的目标的东西。除此之外,当某些东西不受支持时,您需要发挥创意并对其进行破解…:O)例如,您可以添加一个额外的序列来保存平均值,并使用序列的标记来显示平均值,就像您前面提到的。因此,我尝试使用注释,因为序列标记不受支持。我在原来的问题中添加了细节-如果有人能指出我做错了什么,那就太好了!!非常感谢。
Dim chartareas As New ChartArea
chart.ChartAreas.Add(chartareas)
chart.Series.Clear()
chart.DataBindCrossTable(DtRecords.DefaultView, "Outcomescore", "ShortName", "RecordsPerGroup", "")
chart.ChartAreas(0).AxisY.Interval = 1
chart.ChartAreas(0).AxisY.Enabled = AxisEnabled.False
chart.Palette = ChartColorPalette.None
chart.PaletteCustomColors = New Color() {ColorTranslator.FromHtml("#DF5B59"), ColorTranslator.FromHtml("#E0D773 "), ColorTranslator.FromHtml("#8AAC53"), ColorTranslator.FromHtml("#6A843F")}
chart.ChartAreas(0).AxisX.MajorGrid.Enabled = False
chart.ChartAreas(0).AxisY.MajorGrid.Enabled = False
For Each cs As Series In chart.Series
cs.ChartType = SeriesChartType.StackedBar
cs.Points().FindMaxByValue.MarkerColor = Color.AliceBlue
cs.Points().FindMaxByValue.MarkerSize = 13
cs.Points().FindMaxByValue.MarkerStyle = MarkerStyle.Diamond
Next
pnlcharts.Controls.Add(chart)
chart.Palette = ChartColorPalette.None
chart.PaletteCustomColors = New Color() {ColorTranslator.FromHtml("#DF5B59"), ColorTranslator.FromHtml("#E0D773 "), ColorTranslator.FromHtml("#8AAC53"), ColorTranslator.FromHtml("#6A843F")}
chart.ChartAreas(0).AxisX.MajorGrid.Enabled = False
chart.ChartAreas(0).AxisY.MajorGrid.Enabled = False
Dim charttitle As New Title
charttitle.Text = DtDistinct.Rows(I)("CourseSisID")
chart.Titles.Add(charttitle)
For Each cs As Series In chart.Series
cs.ChartType = SeriesChartType.StackedBar
Next
Dim ann1 As New VerticalLineAnnotation()
ann1.AxisX = chart.ChartAreas(0).AxisX
ann1.AxisY = chart.ChartAreas(0).AxisY
ann1.IsSizeAlwaysRelative = False
ann1.X = chart.DataManipulator.Statistics.Mean(chart.Series(0).Name)
ann1.IsInfinitive = True
ann1.ClipToChartArea = chart.ChartAreas(0).Name
ann1.LineColor = Color.Coral
ann1.LineWidth = 3
ann1.AnchorX = 1
ann1.AnchorY = 5
chart.Annotations.Add(ann1)
ann1.LineDashStyle = ChartDashStyle.Dash
pnlcharts.Controls.Add(chart)
Dim annotation2 As New LineAnnotation()
annotation2.IsSizeAlwaysRelative = False
annotation2.AxisX = chart.ChartAreas(0).AxisX
annotation2.AxisY = chart.ChartAreas(0).AxisY
annotation2.Height = 1
annotation2.Width = 0
annotation2.LineWidth = 1.5
annotation2.StartCap = LineAnchorCapStyle.None
annotation2.EndCap = LineAnchorCapStyle.None
annotation2.AnchorX = AvgVar
annotation2.ToolTip = "Average=" & AvgVar
Select Case row
Case 1
annotation2.AnchorY = 4.5
Case 2
annotation2.AnchorY = 3.5
Case 3
annotation2.AnchorY = 2.5
Case 4
annotation2.AnchorY = 1.5
Case 5
annotation2.AnchorY = 0.5
End Select
' <- your point
annotation2.LineColor = Color.Gray
annotation2.LineDashStyle = ChartDashStyle.Dash
' <- your color
chart.Annotations.Add(annotation2)