Я создал диаграмму StackedColumn, используя встроенные элементы управления .NET 4.0.
Графики выходят правильно.
Я хочу, чтобы это выглядело 3-D, хотя.
Я могу сделать это с помощью XAML. Но я не могу сделать то же самое, используя код позади.
Пожалуйста, смотрите мой код позади. У меня есть диаграмма и диаграмма области. Я видел, что код для включения 3-D выглядит следующим образом:
Chart1.ChartAreas["Default"].Area3DStyle.Enable3D = true;
Но я получаю сообщение об ошибке во время выполнения следующим образом:
Индекс был вне диапазона. Должен быть неотрицательным и меньшим, чем размер коллекции.
Имя параметра: индекс
Я также попытался использовать следующие параметры (где cArea - это экземпляр ChartArea):
cArea.Area3DStyle.Enable3D = true;
Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true;
Chart1.ChartAreas[0].Area3DStyle.Enable3D = true;
Есть ли разница в том, где я устанавливаю эти свойства. Я попробовал все 3 приведенных выше утверждения, прежде чем добавить элемент Chart1.
Код, который я использую:
Chart1.Series.Clear();
Chart1.ChartAreas.Clear();
ChartArea cArea = new ChartArea("Default");
Chart1.ChartAreas.Add(cArea);
// ABLE TO USE cArea to change properties.... !!!
cArea.AxisX.LabelStyle.Angle = +80;
cArea.AxisX.LabelStyle.Interval = 1;
cArea.BackColor = Color.Beige;
foreach (var g in groups)
{
Series s1 = new Series(g.Key);
Chart1.Series.Add(s1);
s1.ChartType = SeriesChartType.StackedColumn;
s1["PointWidth"] = "0.7";
foreach (var m in g)
{
s1.Points.AddXY(m.Category, m.Count);
}
s1.IsValueShownAsLabel = true;
s1.ToolTip = "#VALY";
}
this.Controls.Add(Chart1);
XAML:
<asp:Chart ID="Chart1" runat="server" ImageLocation="~/FolderLoc/Chart_#SEQ(1000,0)" ImageStorageMode="UseImageLocation" ImageType="Png" >
</asp:Chart>
Однако я могу использовать cArea для изменения других свойств как части моей диаграммы, как показано в коде:
// ABLE TO USE cArea to change properties.... !!!
cArea.AxisX.LabelStyle.Angle = +80;
cArea.AxisX.LabelStyle.Interval = 1;
cArea.BackColor = Color.Beige;
При использовании статических данных я могу установить для «Enable3D» значение TRUE с XAML как:
<chartareas>
<asp:ChartArea Name="Default">
<Area3DStyle Enable3D="True" />
</asp:ChartArea>
</chartareas>
Подскажите, пожалуйста, как включить трехмерную диаграмму?