我想在matplotlib.pyplot.contour的行中添加edgecolors。尝试边缘颜色和markeredgecolor,没有影响。有谁知道解决方案?
答案 0 :(得分:1)
对于这种情况,您需要绘制数据集两次,这是第一次使用更粗的线宽(或更大的标记,具体取决于您考虑的图表类型)以及“外”线/标记的颜色。然后,再次绘制数据集,但使用较小的线条/标记和不同的颜色,内部线条的颜色。
以下是您可以复制粘贴到学习的示例。该示例借鉴了matplotlib contour demo:
import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
# generate some sample data
delta = 0.025
x = np.arange(-3.0, 3.0, delta)
y = np.arange(-2.0, 2.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
# difference of Gaussians
Z = 10.0 * (Z2 - Z1)
plt.figure()
# plot the outer lines thicker
whites = plt.contour(X, Y, Z, colors='white', linewidths=7)
plt.gca().set_axis_bgcolor('red') # you spoke of a red bgcolor in the axis (yuck!)
# and plot the inner lines thinner
CS = plt.contour(X, Y, Z, colors='red', linewidths=3)
这是许多体面图中常用的技术,用于突出显示数据(即使这个例子看起来很糟糕)。