I dont care how many symbol varieties you have, I personally have difficulty reading a 2d graph with more than a few (for the purposes of your graph, lets say 4) groups of data on it. I mean I know its necessary sometimes to show more, but in your case, what is the user of the graph going to look at? Do they really care about all of those variables at the same time, or as mentioned could you divide it into 1 graph per material, or 1 graph per particle number.
If you do need to show all the data at once, one of the graphs in this package may help: http://advancedplotting.github.io/
It uses the python matplotlib library which is intended as a clone of matlab's plots which are better than labview's really nothing special compared to the glory of the labview graph control, down with matlab.
Some (different) people have used mscharts with some success but I've never personally looked into it.