这是related question的扩展。
我打算绘制一个等高线图,标有等高线,然后将轴刻度更改为“log”。
这很好,除了轮廓标签的旋转是没有调整的。能修好吗?
loglog = False
import matplotlib.pyplot as plt
import numpy as np
x = (np.linspace(0, 10))
y = (np.linspace(0, 10))
X, Y = np.meshgrid(x, y)
C = plt.contour(X, Y, np.sqrt(X) * Y)
plt.clabel(C, inline=1, fontsize=10)
plt.xlim(1, 10)
plt.ylim(1, 10)
if loglog: plt.xscale('log')
if loglog: plt.yscale('log')
plt.show()第一个图是用loglog=False在第二个loglog=True中得到的。


发布于 2019-01-29 10:47:47
所以答案是显而易见的。当然,提前更改轴比例类型会有所帮助。
编辑:,我认为在这里使用日志空间而不是linspace是有意义的。
import matplotlib.pyplot as plt
import numpy as np
x = np.logspace(0, 1, 100, base=10)
y = np.logspace(0, 1, 100, base=10)
X, Y = np.meshgrid(x, y)
plt.xlim(1, 10)
plt.ylim(1, 10)
plt.xscale('log')
plt.yscale('log')
C = plt.contour(X, Y, np.sqrt(X) * Y)
plt.clabel(C, inline=1, fontsize=10)

https://stackoverflow.com/questions/54419194
复制相似问题