使matplotlib等高线图给出填充的颜色条

时间:2017-12-06 20:29:42

标签: python matplotlib

以matplotlib情节为例

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 4, 1000)
y = np.linspace(-1, 1, 1000)
xx, yy = np.meshgrid(x, y)
z = np.sin(xx + yy**2)
plt.figure()
CS = plt.contourf(x, y, z)
CS = plt.contour(x, y, z)
plt.clabel(CS, fontsize=8, colors='black')
cbar = plt.colorbar(CS)
plt.savefig('test.png')

这会产生

enter image description here

色条很难读取,因为它只为颜色添加线条,其余为白色。

如何使色条填充颜色,而不仅仅是线条,就像在examples中一样?

1 个答案:

答案 0 :(得分:1)

无论您使用CS还是contour contourf,都很重要。您希望contourf中的那个获得填充的颜色条。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 4, 1000)
y = np.linspace(-1, 1, 1000)
xx, yy = np.meshgrid(x, y)
z = np.sin(xx + yy**2)
plt.figure()
CS = plt.contour(x, y, z)
CS = plt.contourf(x, y, z)
plt.clabel(CS, fontsize=8, colors='black')
cbar = plt.colorbar(CS)
plt.savefig('test.png')

请注意我是如何交换contourcontourf行的。

enter image description here

我不知道如何仅使用contour制作填充色条。