[英]python matplotlib: retrieving colors used in contour plot
我用(比如說)10個等高線制作了一個等高線圖,如下所示:
CS = plt.contour(X, Y, Z, levels=levels)
其中levels
是 10 個數字的列表。
我對 matplotlib 使用的顏色非常滿意——我認為它從默認顏色圖中選擇了 10 種間隔很好的顏色——但是我如何檢索實際使用的顏色? (就像 RGB 值列表一樣)。 原因是我想構建一個自定義顏色條(通過在plt.hlines
命令中使用這些顏色)。
假設您想要 10 個級別的彩色地圖jet
:
import matplotlib.cm as cm
cm.jet(np.linspace(0, 1, 10))
Out[31]:
array([[ 0. , 0. , 0.5 , 1. ],
[ 0. , 0. , 0.99910873, 1. ],
[ 0. , 0.37843137, 1. , 1. ],
[ 0. , 0.83333333, 1. , 1. ],
[ 0.30044276, 1. , 0.66729918, 1. ],
[ 0.66729918, 1. , 0.30044276, 1. ],
[ 1. , 0.90123457, 0. , 1. ],
[ 1. , 0.48002905, 0. , 1. ],
[ 0.99910873, 0.07334786, 0. , 1. ],
[ 0.5 , 0. , 0. , 1. ]])
返回的是一個 RGBA 值數組。
值得注意的是: contourf
返回的對象有一個get_cmap
方法,所以
cf = plt.contourf( ... )
cmap = cf.get_cmap()
colors = cmap(np.linspace(0, 1, 10))
可能有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.