翻譯|使用教程|編輯:楊鵬連|2021-04-13 13:15:49.973|閱讀 220 次
概述:本文主要介紹了高性能圖表控件LightningChart 中3D視圖問題(ArgumentOutOfRangeException)解答。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
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問題,有什么錯誤?
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: index lightningChartUltimate1->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 obj auto 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 series auto series1 = chart3d->View3D->PointLineSeries3D[0]; series1->Clear();//clear for new points cli::array<SeriesPoint3D> ^ points = gcnew cli::array<SeriesPoint3D>(y.size()); vector<double> yz;//for max min XYZ correction for (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 correction chart3d->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;//maxX chart3d->View3D->ZAxisPrimary3D->Maximum = yz.size()*0.2;//maxZ series1->Points = points; chart3d->EndUpdate(); }
如果對此有任何疑問,請以獲取更多信息。
想要購買LightningChart正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: