Log plots are very useful for visualizing scientific and engineering data. We need more of them – like LogListContourPlot, Log10ListContourPlot, LogListPlot3D and Log10ListPlot3D. I am sure we can do this ourselves, and handle all the scaling and ticks issues while doing so. But it would be so nice to have this in Mathematica core capability.
I’ve requested this feature already many times, on this forum and private communications with employees for years! I’m against having all these function names though. You will get so many functions that all do basically the same. I think they should implement (what they call now) ScalingFunctions thoughout all functions, so you can have (List)Plot3D with the option ScalingFunctions with options like:
{xscaling, yscaling, zscaling}
where each of them can be “Linear”, Log, Log10, Reverse, Date, or even combinations ({Reverse,Data} or {Reverse,Log} or so) et cetera
1 function that does all, not hundreds of functions with all the combinations…
and in this large topic:
and probably other place…
Thanks, Sander. I agree about the function names. ScalingFunction is a MUCH better idea.
This reminds me of the 15 year uphill battle to get plot legends which could be implemented without developing a proof of Fermat’s last Theorem in the process. Perhaps we could organize demonstrations at the next Mathematica conference – something like the 1968 convention of the Democratic Party here in the US.
I’m not sure though why they called it ScalingFunctions, I thought my “AxesScaling” was nicer, but well, slowly they use it in more and more functions
Yes, I also wanted a ‘ListDateDatePlot’ (to track an ETA over time), which would be really easy if ScalingFunctions was implemented throughout the system.
I think a central website for Mathematica requests would be very nice, where people can vote on them…
Though hope is not lost; for example I proposed GeoDistanceList in this big feature request topic, and they made it (and it is awesome)! So they do listen (or it is coincidence of course).
The plot legends are still not 100%, because a plot with PlotLegends is not a Graphics object… so combining them (subplots) is very tricky as imagepaddings and stuff don’t work as you think… so I end up using Epilog → Inset[legend] constructs to ‘embed’ the legend in the Graphics…