2014-11-19 2 views
0

Я использую компонент диаграммы .NET Framework 4.5 в C#.Как установить сплайн-диаграмму 3d в .NET

Когда я заполняю этот компонент значениями, которые не имеют одинакового разрыва между собой, и установите для свойства ChartArea.Area3dStyle.Enable3d значение true, почти нет влияния на график, пока я не сравню промежутки между значениями в сериал.

DataPoint dataPoint1 = new DataPoint(0D, 20D); 
DataPoint dataPoint2 = new DataPoint(1D, 30D); 
DataPoint dataPoint3 = new DataPoint(200D, 50D); 
DataPoint dataPoint4 = new DataPoint(300D, 20D); 
DataPoint dataPoint5 = new DataPoint(400D, 0D); 
DataPoint dataPoint6 = new DataPoint(500D, 30D); 
DataPoint dataPoint7 = new DataPoint(600D, 10D); 
DataPoint dataPoint8 = new DataPoint(700D, 10D); 

series1.Points.Add(dataPoint1); 
series1.Points.Add(dataPoint2); 
series1.Points.Add(dataPoint3); 
series1.Points.Add(dataPoint4); 
series1.Points.Add(dataPoint5); 
series1.Points.Add(dataPoint6); 
series1.Points.Add(dataPoint7); 
series1.Points.Add(dataPoint8); 

chartArea1.Area3DStyle.Enable3D = true; 

enter image description here

ответ

0

Вы можете установить различные параметры здесь. Тот, который непосредственно восполняет automtic разукрупнения с вашими большими значениями х является PointDepth

chartArea1.Area3DStyle.Enable3D = true; 
chartArea1.Area3DStyle.PointDepth = 999; // pick a value you like 

Лучший способ изучить многие чудеса управления Chart, чтобы играть с ним в дизайнере. Когда вы найдете хорошую настройку, вы можете перейти к файлу yourForm.Designer.cs и посмотреть на сгенерированный код; в то время как вам не рекомендуется обманывать, это ценный ресурс для многих неясных настроек.

К сожалению, максимум PointDepth составляет 1000 и с значениями x больше 300-500, 3D-эффект все еще довольно слабый. Может быть, вы можете снизить ваши ценности?

+0

Я собрал дополнительную информацию о своей проблеме: если я использую разные промежутки между значениями, например. значения x равны 0, 1, 200, 300, 400, 500, 600, 700, что проблема возникает. -> отредактированный пост. –

+0

Это почти правильно; кажется, что глубина 3D вычисляется из наименьшего зазора в последовательности точек. Может быть, резонанс в том, что для небольших зазоров и, следовательно, более резких углов более глубокие области кривых будут слишком много перекрываться.? Не знаю, есть ли обходной путь, который не позволяет изменять или удалять некоторые данные. – TaW

Смежные вопросы