2017-07-14 56 views
0

我想將值轉換成Colormap中的顏色信息。我有z值,並希望將z值映射到圓形。例如,我有一個座標(xi,yi),並且想繪製一個以座標值爲中心的圓,z值映射到colormap中。但是,它並沒有畫出任何圓圈。以下是我的代碼。如何將值轉換爲matplotlib中圈的顏色信息?

r = 100 
color_map = cm.Oranges 
norm = Normalize(vmin=1, vmax=100) 
rgba = color_map(norm(zi)) 

CS = plt.Circle((xi, yi), r, color=rgba[0]) 

回答

0

實際上你有幾個問題。您沒有創建任何軸,並且您使用的顏色映射不正確。因此,請創建您的圈子並記下color_map的使用方式。然後將其添加到創建的軸對象。

import matplotlib.pyplot as plt 

r = 100 
color_map = plt.get_cmap("Oranges") 
circle1 = plt.Circle((0, 0), 0.2, color=color_map(0.66)) 
circle2 = plt.Circle((0.5, 0.5), 0.2, color=color_map(0.45)) 
circle3 = plt.Circle((1, 1), 0.2, color=color_map(0.2), clip_on=True) 

fig, ax = plt.subplots() 
ax.add_artist(circle1) 
ax.add_artist(circle2) 
ax.add_artist(circle3) 

enter image description here

+0

謝謝!這解釋了原因。還有一個問題,我正在繪製尺寸爲1000x800的圖像。我用圖形函數加載它(fig = plt.figure(figsize = figsize,dpi = dpi))。在這種情況下,我應該如何向我的圖形添加圖塊? – ejshin1

+0

調用plt.subplots時,只需使用此關鍵字,即:無花果,斧= plt.subplots(figsize =(20,20),dpi = 300) – omdv

+0

我已經使用此代碼,它似乎通過調用子圖,它初始化圖像。這是我的代碼'fig = plt.figure(figsize = figsize,dpi = dpi)plt.imshow(imgdata)circle1 = plt.Circle((xi [0],yi [0]),r,color = color_map(zi [0]))fig,ax = plt.subplots(figsize =(20,20),dpi = 300)'ax.add_artist(circle1)' – ejshin1

相關問題