Re: Getting values from Plot
- To: mathgroup at smc.vnet.net
- Subject: [mg22737] Re: Getting values from Plot
- From: bernd at bio.vu.nl (Bernd Brandt)
- Date: Fri, 24 Mar 2000 03:27:24 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Dear All, Thank you for your answers! What i meant is to get the exact coordinates of the points used by Mathematica to plot the figure, in order to replot it in another plotting program (GNUplot), which I find easier to use (setting labels, ticks etc). The included answer from David Park was most easy, and not sensitive to "PlotStyle". Also it is easy to get (x,y) pairs from different lines in Plot. Line 1: Cases[p1[[1]], Line[_], Infinity] [[1, 1]] Line 2: Cases[p1[[1]], Line[_], Infinity] [[2, 1]] Thanks! Bernd ________________________________________________________________________________ p1 = Plot[x^2, {x, 0, 5}, PlotPoints -> 5]; The first part of p1 contains the graphics elements that make up the curve or curves in the plot. Specifically, these will be Line graphics primitives. In the above case there is only one Line, which we can pick out with the Cases statement, and then extract the inner list of points. The only reason I used Chop was to get a list short enough to paste into the email. Otherwise I would have had to switch to InputForm and copy out 16 place numbers. plotpoints = Cases[p1[[1]], Line[_], Infinity][[1, 1]] // Chop[#, 10^-5] & {{0, 0}, {0.0370328, 0.00137143}, {0.0707252, 0.00500206}, {0.109616, 0.0120158}, {0.14638, 0.0214272}, {0.21177, 0.0448464}, {0.282748, 0.0799462}, {0.360913, 0.130258}, {0.443778, 0.196939}, {0.592445, 0.350991}, {0.745896, 0.556361}, {0.889651, 0.791479}, {1.21701, 1.48111}, {1.55092, 2.40537}, {1.85643, 3.44634}, {2.54426, 6.47328}, {3.1423, 9.87406}, {3.79509, 14.4027}, {5., 25.}}