I have some points, let's say 3d(they are n-dimensional but I only use 3 dimensions for the plot). I don't think I will have more than 2000 points. How can I draw something similar using C#. I don't want to call the matlab function or use the drawing from there. I haven't used WPF until now, but, if it's easy to implement and to understand, its OK with me.
Asked
Active
Viewed 9,541 times
3
-
Welcome to [so] Why dont you want to call the matlab function? Is it just this image your using is from Matlab? You've tagged the question `winforms` but there aren't any inbuilt 3D Graph controls - you would have to do it with `Graphics`. It sounds very much [like this question](http://stackoverflow.com/questions/10840269/winforms-3d-graph-plot), its pretty much a [shopping question](http://blog.stackoverflow.com/2010/11/qa-is-hard-lets-go-shopping/)? – Jeremy Thompson Jun 29 '13 at 06:01
-
Im not really allowed to just load an image, the point of the project is to create an User Interface in WinForms and i must build the plot, i already get my data from matlab. – andrei catalin Jun 29 '13 at 08:26
-
I do the same thing [but see here how I generate the graph with Mathematica](http://mathematica.stackexchange.com/questions/19516/load-a-mathematica-package-via-net-code), then load the image into a .Net GUI. Its even got [drawing tools in C# to generate an Epilog](http://stackoverflow.com/a/17182111/495455). MatLab and MMA's Charting abilities are so much more mature than what you get with 3rd party .Net Graphing components. This is why I thik you're better off using MatLab as the Graphing Engine from your C# Winform/VSTO app, like mine. – Jeremy Thompson Jun 29 '13 at 10:29
-
@andreicatalin the image you posted is useless if we can't perform some kind of rotating action to view the 3D graph in different angles. That's the most difficult to do in Winforms (without any 3D lib), if just draw a static and non-interactive graph, it's not too hard to do with a little GDI+ – King King Jun 30 '13 at 00:40
-
As founder of Gigasoft, our [charting/gigasoft.com](http://www.gigasoft.com) is 'only' property oriented. In other words, no abstract creating objects and calling functions with objects to set data. Simply MyChart.PeData.Y(0,0) = 1.0 which is row/column property array syntax. There are also functions for data awareness but optional. We have an 18 meg no hassle demo download that shows 3d scatter plus more, with the code shown necessary to produce. The evals include projects to replicate the demo. Reading a bit of our example code should clarify the ease of use. – Robert Jun 20 '14 at 23:07
-
maybe you can try this https://github.com/foman/Plotter3D – Liang Oct 30 '18 at 01:26
2 Answers
1
I have used ILNumerics which provides nice labels and tick marks for each of scatter plots and contour plots but I had trouble selecting data points in the scatter plot with the mouse until I found this article on Charting 3D data in WPF. It works well but lacks axis labels and tick marks.

skinnedknuckles
- 371
- 3
- 12
0
ILNumerics is quite easy to learn. It combines a mathematical engine with visualization capabilities (providing Windows Forms Controls). I've posted an example here:
How to create a 3D scatter plot?
Note: at the time of writing this answer the library had a free version. Now it seems even the personal version requires a payment.

BartoszKP
- 34,786
- 15
- 102
- 130