Python 如何将matplotlib中的值转换为圆的颜色信息?

Python 如何将matplotlib中的值转换为圆的颜色信息?,python,matplotlib,Python,Matplotlib,我正在尝试将值转换为Colormap中的颜色信息。我有z值,想把z值映射成圆形。比如,我有一个坐标席,意,并画一个圆,这个坐标中心用Z值映射到CopyMax。然而,它并没有画出任何圆圈。下面是我的代码 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]) 实际上你有两个问题。

我正在尝试将值转换为Colormap中的颜色信息。我有z值,想把z值映射成圆形。比如,我有一个坐标席,意,并画一个圆,这个坐标中心用Z值映射到CopyMax。然而,它并没有画出任何圆圈。下面是我的代码

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])

实际上你有两个问题。您没有创建任何轴,并且使用的颜色贴图不正确。因此,创建您的圆圈并注意颜色映射的使用方式。然后将其添加到已创建的轴对象中

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)

非常感谢。这就解释了原因。还有一个问题,我在图片上绘图,图片大小为1000x800。我加载了fig函数fig=plt,figuefigsize=figsize,dpi=dpi。在这种情况下,我应该如何将绘图添加到我的图形中?在调用plt.subplot时只需使用此关键字,即:fig,ax=plt.subplosfigssize=20,20,dpi=300我使用了此代码,似乎通过调用subplot,它初始化了图像。这是我的代码'fig=plt.figurefigsize=figsize,dpi=dpi-plt.imshowimgdata-circle1=plt.Circlexi[0],yi[0],r,color=color\u-mapzi[0]fig,ax=plt.subplosfigsize=20,20,dpi=300'ax.add\u-artistcircle1'。非常感谢。这是最终版本。圈1=plt.Circlexi[0],yi[0],r,color=color\u mapzi[0]图add\u子图111.add\u artistcircle1