How do I create a plot that is logscale in y and mixed log/linear scale in x?

2 visualizaciones (últimos 30 días)
David
David el 16 de Abr. de 2014
Editada: dpb el 17 de Abr. de 2014
I am plotting a function on [0,180] that is nearly singular about 0. I want loglog over [0,10] and then semilogy over [10,180]. An example of the function is:
y=1/(1+2*k-cos(x)).^2;
where k is << 1.
  2 comentarios
dpb
dpb el 16 de Abr. de 2014
Use
subplot(1,2)
to create two axes then adjust they're positions to fill in the space between, hiding the left y-axis on the RH axes. Set the two axes xlim property appropriately for the two ranges.
dpb
dpb el 16 de Abr. de 2014
Editada: dpb el 17 de Abr. de 2014
Or, the other way would be to keep the one axes object but transform x>10 to log and set the ticks and labels manually.
In this case to plot on the same axis you would
plot(log10(x>10)+10,y(x>10))
to get the offset on the axis, of course.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Log Plots en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by