0

我正在 Visual Studio 2008 (C#) 中构建一个 ASP.NET 图表 (System.Web.UI.DataVisualization.Charting.Chart),X 轴上有自定义标签。我想隐藏自动生成的轴标签,只显示我的自定义标签。做这个的最好方式是什么?

如果我设置 Axis 属性 LabelStyle.Enabled = false 那么我的自定义标签也会被隐藏。

更新:通过将 IntervalOffset 属性设置为 1000,它会将自动标签移出图表。但是,现在图表底部和自定义标签之间存在间隙。

4

3 回答 3

1

找到答案:为我的自定义标签将 RowIndex 设置为 0。现在一切都很好。

于 2013-10-15T12:57:38.273 回答
0

我已经使用自定义标签和标签列表解决了这个问题。我有两个功能:一个添加自定义标签列表,一个删除自定义标签列表。

    /// <summary>
    /// Add a list of CustomLabel to X Axis
    /// </summary>
    /// <param name="customLabelList">List of custom label</param>
    /// <param name="chartArea">Destination ChartArea</param>
    /// <param name="tag">Tag tha unique identify the custom label list</param>
    /// <param name="rowIndex"></param>
    public void AddAxisXCustomLabel(List<CustomLabel> customLabelList, string chartArea, string tag,int rowIndex)
    {
        foreach (CustomLabel cl in customLabelList)
        {
            cl.RowIndex = rowIndex;
            cl.Tag = tag;
            chart.ChartAreas[chartArea].AxisX.CustomLabels.Add(cl);
        }
    }
    /// <summary>
    /// Remove custom label from a list of custom label
    /// </summary>
    /// <param name="chartArea">Destination ChartArea</param>
    /// <param name="tag">Tag tha unique identify the custom label list</param>
    public void RemoveCustomLabelByTag(string chartArea,string tag)
    {
        for (int i = (chart.ChartAreas[chartArea].AxisX.CustomLabels.Count-1); i > -1; --i)
        { 
            CustomLabel cl = chart.ChartAreas[chartArea].AxisX.CustomLabels[i];
            if (cl.Tag.Equals(tag))
            {
                chart.ChartAreas[chartArea].AxisX.CustomLabels.RemoveAt(i);
            }
        }
     }
于 2013-10-28T10:31:02.423 回答
0

您可以使用

series.LabelForeColor = 颜色.透明

于 2019-03-26T03:05:43.873 回答