我有以下 python 代码:import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 10, 100)y = np.linspace(0, 10, 100)X, Y = np.meshgrid(x, y, indexing='ij')Z = np.sin(X+Y)plt.pcolormesh(X, Y, Z)plt.colorbar()plt.contour(X, Y, Z, levels=[0.5, 0.75], colors=['black','cyan'])plt.show()给出以下输出:我想将轮廓标记放置在颜色条上,如下所示:我已经进行了实验和阅读,但我找不到一种方法可以有效地在同一颜色条上绘制两个数量。
1 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
plt.colorbar返回一个colorbar对象,您可以从中获取它使用 绘制的轴.ax。从那里开始,事情应该很简单:
plt.pcolormesh(X, Y, Z)
cb = plt.colorbar()
plt.contour(X, Y, Z, levels=[0.5, 0.75], colors=['black','cyan'])
ax = cb.ax
xmin, xmax = ax.get_xlim()
ax.hlines([0.5, 0.75], xmin, xmax, colors=['black','cyan'], linewidth=5)
输出:
添加回答
举报
0/150
提交
取消