2013-10-15 5 views
0

Я создаю диаграмму ASP.NET (System.Web.UI.DataVisualization.Charting.Chart) в Visual Studio 2008 (C#) с пользовательскими метками на оси X. Я хочу скрыть автоматически создаваемые метки оси и просто показать свои собственные метки. Каков наилучший способ сделать это?MS Chart показать пользовательские метки и скрыть метки оси

Если я установил свойство Axis LabelStyle.Enabled = false, мои пользовательские метки также будут скрыты.

ОБНОВЛЕНИЕ: Устанавливая свойство IntervalOffset равным 1000, он перемещает автоматические метки с диаграммы. Тем не менее, теперь есть разрыв между нижней частью диаграммы и пользовательскими ярлыками.

+0

, пожалуйста, покажите нам свой код – Rohit

ответ

1

Нашел ответ: установите для RowIndex значение 0 для моих пользовательских меток. Теперь все складывается очень хорошо.

0

Я решил проблему, используя список customlabel и tag. У меня есть две функции: одна, которая добавляет список customlabel и тот, который удаляет список customlabel.

/// <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); 
      } 
     } 
    } 
Смежные вопросы