【发布时间】:2019-05-06 12:10:11
【问题描述】:
使用 Python/Matplotlib 绘制等高线图时,默认行为(对于 1 种颜色)是用虚线表示负值。这是我想要的功能。但是,如果我设置线条的颜色,它们都会被绘制成实心的。我想结合虚线底片和自定义颜色。
如何绘制彩色线条,并保持负划线样式?
下面,我复制(稍微修改一下),本教程的一个例子:https://www.oreilly.com/library/view/python-data-science/9781491912126/ch04.html
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 5, 50)
y = np.linspace(0, 5, 40)
X, Y = np.meshgrid(x, y)
def f(x, y):
return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)
Z = f(X, Y)
# Default: 1 color, negatives are dashed
plt.contour(X, Y, Z, colors='black')
plt.show()
# Set colormap: all lines are solid
plt.contour(X, Y, Z, cmap='RdBu')
plt.show()
# Set individual colors: all solid lines
plt.contour(X, Y, Z, colors=['b','b','b','r','r','r','r','r'])
plt.show()
【问题讨论】:
标签: python matplotlib visualization contour