1
$\begingroup$

I have a list of data points that I would like to turn into a 3D Surface with adjustable degree of smoothing for readability. The data consist of absorption values between -0.01 and 0.01 measured at 200 equally spaced wavelengths and 12 different temperatures between 80 K and 293.2 K.

There seem to be several functions there specifically to do that, but so far I succeded with non. While ListPlot3D produces a nice surface but without options for smoothing, ListSurfacePlot3D produces some strange geometric figures

uri=FileNameJoin[{$HomeDirectory, "Downloads", "NaDpH5260300UVVis80K.xlsx"}];
NaDpH5260300UVVis80K = Partition[Flatten[Import[uri]], 3];

ListSurfacePlot3D[NaDpH5260300UVVis80K, 
                  ColorFunction -> ThermometerColors",
                  Mesh -> False]

plot1

as well as ListContourPlot3D:

ListContourPlot3D[NaDpH5260300UVVis80K, 
                  ColorFunction -> ThermometerColors", 
                  Mesh -> False]

plot2

I have managed a smoothed surface via

f = Interpolation[NaDpH5260300UVVis80K, InterpolationOrder -> 2];

Plot3D[ f[x, y], {x, 80, 293.}, {y, 300, 700},  
       ColorFunction -> "ThermometerColors"

(* 

Interpolation::udeg: Interpolation on unstructured grids is currently
only supported for InterpolationOrder->1 or InterpolationOrder->All.
Order will be reduced to 1. >>

InterpolatingFunction::dmval: Input value {80.0152,300.029} lies
outside the range of data in the interpolating function. 
Extrapolation will be used. >>

*)

plot3

but this function can only interpolate 3D data to first order which removes too much detail.

The code used in the answer to this question might be what I need, but I am so far incapable of adapting it to my needs.

$\endgroup$

closed as off-topic by MarcoB, Yves Klett, J. M. will be back soon Feb 22 '16 at 10:40

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question cannot be answered without additional information. Questions on problems in code must describe the specific problem and include valid code to reproduce it. Any data used for programming examples should be embedded in the question or code to generate the (fake) data must be included." – J. M. will be back soon
If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Here i.stack.imgur.com/i4Fq5.jpg and here i.stack.imgur.com/HOloT.jpg are pictures of what I get from ListSurfacePlot3D resp. ListContourPlot3D, as I am to the forum I was not allowed to post more than two links. $\endgroup$ – jonasmg Nov 7 '15 at 18:57
  • 2
    $\begingroup$ You can add InterpolationOrder -> ... directly to ListPlot3D $\endgroup$ – ybeltukov Nov 7 '15 at 19:12
  • 1
    $\begingroup$ The answer of how to interpolate/smooth unstructured data is rather involved. I think for this data set you could use kriging... $\endgroup$ – Eric Brown Nov 8 '15 at 0:32
  • 1
    $\begingroup$ The data consists of UV/Vis difference spectra, with varying noise levels due to different overall absorption at different temperatures and wavelenghts. I tried ListSurfacePlot3D first as the way I understand it this should fit a surface to the data, but tried other things as I was not successful $\endgroup$ – jonasmg Nov 8 '15 at 13:54
  • 1
    $\begingroup$ I'm voting to close this question as off-topic because the data linked in the post is no longer available. $\endgroup$ – MarcoB Feb 22 '16 at 8:03

Browse other questions tagged or ask your own question.