I'm very happy to hear you are picking up qwtPlot3D.
Overall I am very impressed with the quality of the package - well done!
I'm relatively new to C++ programming, but would like to help, or at least get some help from you :)
I have one question that I am having trouble figuring out - I have data with widely differing dimension values - i.e. x \in {0,1000}, y \in {0,1} and z \in {0,.1}. When I use plot3D tools to create these graphical objects, the relative ratios of the resulting graphical objects are 1000:1:.1, which makes the plot look like a long, skinny brick. I've tried playing with setScale to get everything on the same scale (something like setScale(1/1000,1/10,1), but this shrinks the entire image to be very small. Alternatively, using setScale(1,100,1000) makes things look better, but the z-tick marks become enormous.
I feel I am missing something straightforward here, but I am not sure what...
thanks for any info.
-pete
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The coordinate system has an automatism, calculating the tic length from his box diagonal in world coordinates:
// From CoordinateSystem::init
Triple dv = second - first;
double majl = dv.length() / 100; // 1 %
setTicLength(majl, 0.6 * majl);
For extreme cases you have to adjust this by using the same setTicLength member
myplot->coordinates( )->setTicLength(new_major_tic_len, new_minor_tic_len)
You can fine-tune this for every single axis - they have the same member (actually, the coordinate system variant is calling all the 12 of them at once)
Take care, if calling CoordinateSystem::createCoordinateSystem (most of the time from the various
appendDataSet variants). This will restore standard behavior.
Micha
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I'm very happy to hear you are picking up qwtPlot3D.
Overall I am very impressed with the quality of the package - well done!
I'm relatively new to C++ programming, but would like to help, or at least get some help from you :)
I have one question that I am having trouble figuring out - I have data with widely differing dimension values - i.e. x \in {0,1000}, y \in {0,1} and z \in {0,.1}. When I use plot3D tools to create these graphical objects, the relative ratios of the resulting graphical objects are 1000:1:.1, which makes the plot look like a long, skinny brick. I've tried playing with setScale to get everything on the same scale (something like setScale(1/1000,1/10,1), but this shrinks the entire image to be very small. Alternatively, using setScale(1,100,1000) makes things look better, but the z-tick marks become enormous.
I feel I am missing something straightforward here, but I am not sure what...
thanks for any info.
-pete
The coordinate system has an automatism, calculating the tic length from his box diagonal in world coordinates:
// From CoordinateSystem::init
Triple dv = second - first;
double majl = dv.length() / 100; // 1 %
setTicLength(majl, 0.6 * majl);
For extreme cases you have to adjust this by using the same setTicLength member
myplot->coordinates( )->setTicLength(new_major_tic_len, new_minor_tic_len)
You can fine-tune this for every single axis - they have the same member (actually, the coordinate system variant is calling all the 12 of them at once)
Take care, if calling CoordinateSystem::createCoordinateSystem (most of the time from the various
appendDataSet variants). This will restore standard behavior.
Micha
appendDataSet: This is new development, sorry.
But the loadFromData functions should behave the same way.
Great, thanks!