MATLAB: Can’t plot reference line in pcolor-plot with logarithmic y-axis

linelogscalepcolor

I have code similar to:
h = pcolor(rand(100, 100));
h.EdgeColor = 'none';
line([30 30], [0 100], 'Color', 'red');
set(gca, 'YScale', 'log');
This should plot some random values and draw a vertical line at x = 30. When i debug the code it works until i scale the y-axis, then the line disappears.
Can anyone help me out?

Best Answer

Hi TIm Hilt,
the problem is that on logarithmic scale zero is not defined thus your line does not have a valid starting point (30,0). Change the y-component to a small but non-zero value and the line reappears.
h = pcolor(rand(100, 100));
h.EdgeColor = 'none';
line([30 30], [1 100], 'Color', 'red');
set(gca, 'YScale', 'log');
Kind regards,
Robert