Keyboard shortcuts for separating the zoom-in/out of x and y axes in a chart

Currently, I am working on a plotting library to plot a few charts. most of the charts data vary in the x-dimension too great than y-dimension. ex.

time x y 0    0  0 1    1  0.0044 2    2  0.0085 

Currently, we use Ctrl + Wheel to zoom-in/out. It’s good if the values on both axes varies with the same degree, but this is not the case.

I have been thinking about separating the zooming behavior, examples for schemes

scheme 1

Ctrl + Wheel: both axes.
Ctrl + Shift + Wheel: x-axis.
Ctrl + Alt + Wheel: y-axis.

scheme 2

Mouse middle button: Switch between axis.
Ctrl + Wheel: zoom the current selected axis or both.

I have been thinking about the schemes, but I don’t think it’s too intuitive.

I have depending on being intuitive for the user interface, as the program itself is very complex with a huge user guide. And I don’t want to add non-necessary documentation for simply navigation.

So is there more intuitive shortcuts for special modes in zooming ?


Scaling the axes in ListDesnsityPlot

I have a matrix of size 800×600 in which each value is basically z value. This matrix is stored in text file. I want to import the file in Mathematica and plot it as DensityPlot using ListDensityPlot. In doing so, I am able to plot the data but the x and y axis scale as 0 to 800 and 0 to 600 respectively indicating basically indices of the values stored in the matrix. But in reality I want to scale both x and y axis lets say x ranges from 0 to 4 and y ranges from 0 to 3. In other words I want to keep full scale of the plot with all the data while my frame ticks on x and y axis scaled from 0 to 4 and 0 to 3 respectively.

For example, when I import the data (here my data is matrix of size 301×201)and plot it, it looks this, here basically it takes x and y axis tick values as data indices in the matrix

Plot from importing the data

But actually, in my plot I want to change the axis tick values like this way keeping everything else as it is

Plot by evaluating the function