Matplotlib-避免轮廓截取边界

时间:2019-07-04 09:12:13

标签: python matplotlib

我想创建一个等高线图,其中等高线不截取图像的边界。实际上,我想在外部轮廓周围添加更多的蓝色区域,以使所有轮廓都不会与边界相交。

这是来自matplotlib website

的一些示例代码
import matplotlib.pyplot as plt
import numpy as np
from numpy import ma
from matplotlib import ticker, cm

N = 100
x = np.linspace(-3.0, 3.0, N)
y = np.linspace(-2.0, 2.0, N)

X, Y = np.meshgrid(x, y)

# A low hump with a spike coming out.
# Needs to have z/colour axis on a log scale so we see both hump and spike.
# linear scale only shows the spike.
Z1 = np.exp(-(X)**2 - (Y)**2)
Z2 = np.exp(-(X * 10)**2 - (Y * 10)**2)
z = Z1 + 50 * Z2

# Put in some negative values (lower left corner) to cause trouble with logs:
z[:5, :5] = -1

# The following is not strictly essential, but it will eliminate
# a warning.  Comment it out to see the warning.
z = ma.masked_where(z <= 0, z)

# Automatic selection of levels works; setting the
# log locator tells contourf to use a log scale:
fig, ax = plt.subplots()
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r)

cbar = fig.colorbar(cs)

plt.show()

Contours

您可以看到外面的蓝色轮廓截取了边框。如何“缩小”以使所有轮廓都不截取图像的边界?

0 个答案:

没有答案