pyplot:带有标签固定角度的对数轮廓

时间:2019-01-29 10:40:52

标签: matplotlib plot

这是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获得第一张图:

non-logarithmic plot

enter image description here

1 个答案:

答案 0 :(得分:0)

因此答案实际上是显而易见的。当然,预先更改轴的比例类型会有所帮助。

编辑: 我认为在这里使用logspace而不是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)

enter image description here