Adding text , image to asp.net chart control

故事扮演 提交于 2019-12-11 10:27:18

问题


I am using asp.net chart control to display chart on my website , below is the snippet of it:

The issue is i want to add the text and an arrow line on each point , so for instance on the point (60,october) I want to write text at this point: projection was highest and an arrow image. Is it possible to acheive something like this, any suggestion or assistance will be highly appreciated, below is the code i have used to generate this chart:

double[] yValues = { 15, 60, 12, 13 };
        string[] xValues = { "September", "October", "November", "December" };


        chart.Width = 500;
        chart.Height = 200;
        chart.BorderSkin.SkinStyle = BorderSkinStyle.FrameThin1;

        ChartArea ca = new ChartArea();
        ca.Name = "Default";
        ca.AxisX.LineColor = System.Drawing.ColorTranslator.FromHtml("#FEFEFE");
        ca.AxisX.LineWidth = 3;
        ca.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash;
        ca.AxisX.MajorGrid.Enabled = false;
        ca.AxisX.MajorTickMark.LineWidth = 2;
        ca.AxisX.LabelStyle.Format = "L";

        ca.AxisY.LineColor = System.Drawing.ColorTranslator.FromHtml("#FEFEFE");
        ca.AxisY.LineWidth = 3;
        ca.AxisY.MajorGrid.Enabled = true;
        ca.AxisY.MajorTickMark.LineWidth = 2;
        ca.AxisY.Title = "yaxis";

        chart.ChartAreas.Add(ca);

        Legend legend = new Legend();
        chart.Legends.Add(legend);
        Series series = new Series("Series1");
        series.IsValueShownAsLabel = false;
        series.MarkerStyle = MarkerStyle.Circle;
        series.BorderWidth = 5;
        series.ChartType = SeriesChartType.Line;

        series.ShadowOffset = 2;
        series.XValueType = ChartValueType.String;
        series.YValueType = ChartValueType.Double;
        series.Font = new System.Drawing.Font("Trebuchet MS", 8);
        series.BorderColor = System.Drawing.ColorTranslator.FromHtml("#33CCFF");
        series.Color = System.Drawing.ColorTranslator.FromHtml("#33CCFF");

        chart.Series.Add(series);
        chart.Series["Series1"].Points.DataBindXY(xValues, yValues);
        chart.DataManipulator.InsertEmptyPoints(1, System.Web.UI.DataVisualization.Charting.IntervalType.Days, "Series1");

回答1:


You need to search for the largest data point and use property

datapoint.Label = "projection was highest";

Also easiest way to highlight the point is to use datapoint.MarkerStyle property. You can draw an arrow but I dont think its worth the hassle.



来源:https://stackoverflow.com/questions/11883222/adding-text-image-to-asp-net-chart-control

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!