【问题标题】:Set marker on MSChart at specific X-Value在特定 X 值处设置 MSChart 上的标记
【发布时间】:2011-01-06 19:44:57
【问题描述】:

这是生成我的图表的代码:

System.Web.UI.DataVisualization.Charting.Chart Chart2 = new System.Web.UI.DataVisualization.Charting.Chart();
                Chart2.Width = 350;
                Chart2.Height = 350;
                Chart2.RenderType = RenderType.ImageTag;

                Chart2.Palette = ChartColorPalette.BrightPastel;
                Chart2.ChartAreas.Add("Series 1");
                Chart2.ChartAreas["Series 1"].BackColor = System.Drawing.Color.Transparent;

                // create a couple of series  
                Chart2.Series.Add("Series");

                // databinding
                Chart2.DataSource = pointCollection;
                Chart2.ChartAreas[0].AxisX.Title = "Date";
                Chart2.ChartAreas[0].AxisY.Title = "Future Exposure Amount";
                Chart2.Series[0].ChartType = SeriesChartType.Line;
                Chart2.Series[0].XValueMember = "ExposureDate";
                Chart2.Series[0].XValueType = ChartValueType.Date;
                Chart2.Series[0].YValueMembers = "MaximumExposure";

                Chart2.BackColor = System.Drawing.Color.FromArgb(211, 223, 240); //"#D3DFF0"
                Chart2.BorderSkin.SkinStyle = BorderSkinStyle.Emboss;
                Chart2.BackGradientStyle = GradientStyle.TopBottom;

                // Render chart control  
                Chart2.Page = this;

                Page.Response.Clear();

                HtmlTextWriter writer = new HtmlTextWriter(Page.Response.Output);
                Chart2.RenderControl(writer);

在图表上的某个 X 值处设置标记的代码是什么?

【问题讨论】:

    标签: .net mschart marker


    【解决方案1】:

    您可以逐点设置标记属性,例如

    
    double interestingValue = 12.34;
    foreach (var pt in Chart2.Series[0].Points)
    {
        if (pt.XValue == interestingValue)
        {
            pt.MarkerColor = System.Drawing.Color.Red;
            pt.MarkerSize = 5;
            pt.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle;
        }
    }
    

    XValues 将来自您绑定到的数据,pointCollection 变量。

    如果 pointCollection 的“ExposureDate”中有日期,您最好直接访问它以找到您想要的日期,然后使用

    var pt = Chart2.Series[0].Points[interestingIndex];
    访问DataPoint

    【讨论】:

    • 我没有做太多的图表工作。我将如何遍历这些点?
    • 如果代码再次出现错误,请告诉我行和消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多