高性能图表控件LightningChart中3D视图问题解答

本文主要介绍了高性能图表控件LightningChart 中3D视图问题(ArgumentOutOfRangeException)解答。

LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。

LightningChart.NET现已加入在线订购,SignalTools , 12 months, WPF版本原价4105元,现价只需3499元,现在抢购立享优惠!立即购买>>

LightningChart.NET最新试用版  LightningChart JS最新试用版  

:想创建这样的3D图形衍生函数图像,但是却出现System.ArgumentOutOfRangeException问题,有什么错误/span>

void __3d(vector<int>y) {lightningChartUltimate1 = gcnew LightningChartUltimate(); lightningChartUltimate1->BeginUpdate();cli::array<SeriesPoint3D>^ points = gcnew cli::array<SeriesPoint3D>(y.size());for (size_t i = 0; i < y.size()-1; i++) {points[i].X = i * 0.2;points[i].Y = y[i + 1] - y[i];points[i].Z = i * 0.2;}lightningChartUltimate1->View3D->PointLineSeries3D[0]->Points = points; //System.ArgumentOutOfRangeException:Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: indexlightningChartUltimate1->EndUpdate();                             }

回复:需要创建PointLineSeries3D对象并将其添加到集合View3D-> PointLineSeries3D,因为最初的集合为空。

3D图表Winforms C ++示例一样发布了它

void __3dchart(vector<int> y){chart3d->BeginUpdate();chart3d->Parent = tabControl1->TabPages[1];chart3d->Name = "3D line plot";chart3d->ActiveView = ActiveView::View3D;//create Series objauto series = gcnew PointLineSeries3D(chart3d->View3D, Axis3DBinding::Primary, Axis3DBinding::Primary, Axis3DBinding::Primary);series->PointStyle->Shape3D = PointShape3D::Sphere;series->PointStyle->Size3D->SetValues(1, 1, 1);series->Material->DiffuseColor = Color::Navy;series->Material->SpecularColor = Color::Red;series->Material->SpecularPower = 20;series->LineVisible = true;series->LineStyle->AntiAliasing = LineAntialias::Normal;series->LineStyle->Color = Color::FromArgb(100, Color::Red);series->LineStyle->Width = 0.2f;series->LineStyle->LineOptimization = LineOptimization::NormalWithShading;series->PointsVisible = false;chart3d->View3D->PointLineSeries3D->Add(series);//add seriesauto series1 = chart3d->View3D->PointLineSeries3D[0];        series1->Clear();//clear for new  pointscli::array<SeriesPoint3D> ^ points = gcnew cli::array<SeriesPoint3D>(y.size());vector<double> yz;//for max min XYZ correctionfor (size_t i = 0; i < y.size() - 1;i++) {points[i].X = points[i].Z = i*0.2;double v = points[i].Y =  y[i+1] - y[i];yz.push_back(v);}//XYZ correctionchart3d->View3D->YAxisPrimary3D->Maximum = *std::max_element(std::begin(yz), std::end(yz));chart3d->View3D->YAxisPrimary3D->Minimum = *std::min_element(std::begin(yz), std::end(yz));chart3d->View3D->XAxisPrimary3D->Maximum = yz.size()*0.2;//maxXchart3d->View3D->ZAxisPrimary3D->Maximum = yz.size()*0.2;//maxZseries1->Points = points;chart3d->EndUpdate();}

如果对此有任何疑问,联系客服以获取更多信息。

想要购买LightningChart正版授权,或了解更多产品信息请点击【咨询在线客服】

高性能图表控件LightningChart中3D视图问题解答

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月10日
下一篇 2021年3月10日

相关推荐

发表回复

登录后才能评论