Inserting Asymmetric/Custom Ticks
jasonjphillips
I have a simple x-y plot with multiple data points ONLY at the following x-values:
30, 40, 60, 80, 100, 120
The 30 throws off the x-axis tick labeling. I only want these values to show up on the axis labels. I can't use 30 as a canonic tick with +10 increment, because I can only inhibit 3 tick values, leaving one of 50, 70, 90, or 110 showing.
I can manually add "30" as an annotation and draw a line to mimic a tick mark, but I figured there has to be a better way.
Here is an example:
Make/N=6 xWave={30,40,60,80,100,120}
Make/N=6 yWave=1+gnoise(0.1)
Display yWave vs xWave
// show a bigger x range
SetAxis bottom 0,150
// make two waves to label the x-axis
Make/N=6 xPos = {30,40,60,80,100,120}
Make/N=6/T xLabel = num2str(xPos[p])
// use this command or the dialog with double-click on axis
// Auto/Man ticks, user ticks from wave.
ModifyGraph userticks(bottom)={xPos,xLabel}
September 12, 2022 at 01:50 pm - Permalink
Hi,
One way is to create the labels as "text" and a second wave with the positions. I made a text wave with the values and a second one with their positions. I selected user ticks and assigned as such.
Andy
September 12, 2022 at 01:57 pm - Permalink
That worked perfectly! I wasn't even sure what the "User Ticks from Waves" was even for. I'll be using that feature a lot more now that I know how it works.
Thank you, all!
September 13, 2022 at 03:24 pm - Permalink
Yeah, we like to say, "Read the () manual!" but then, there's something like 2000 pages of it...
But it's worth sort of dipping in now and then to learn new stuff. The User Ticks from Waves is covered in the Graphs help. Reading the Igor manual at bedtime will cure insomnia :)
September 13, 2022 at 03:48 pm - Permalink