python animation极坐标动态图_Python中的RGB极坐标图

在Python中,虽然直接在极坐标图上使用imshow不支持,但可以通过使用pcolormesh并设置color参数实现类似效果。通过创建坐标网格,然后将颜色数据重塑并传递给pcolormesh,可以创建RGB极坐标动态图。为了得到完整的圆形,需要适当增加数据点的数量。
摘要由CSDN通过智能技术生成

不幸的是,在极坐标图上使用imshow是不可能的,因为imshow网格的像素必须是二次的。但是,您可以使用pcolormesh并应用一个技巧(类似于this one),即将颜色作为color参数提供给pcolormesh,因为它通常只接受2D输入。在import matplotlib.pyplot as plt

import numpy as np

data = np.array([[[0,0,1],[0,1,0],[1,0,0]],

[[0,0,0.5],[0,0.5,0],[0.5,0,0]]])

ax = plt.subplot(111, polar=True)

#get coordinates:

phi = np.linspace(0,2*np.pi,data.shape[1]+1)

r = np.linspace(0,1,data.shape[0]+1)

Phi,R = np.meshgrid(phi, r)

# get color

color = data.reshape((data.shape[0]*data.shape[1],data.shape[2]))

# plot colormesh with Phi, R as coordinates,

# and some 2D array of the same shape as the image, except the last dimension

# provide colors as `color` argument

m = plt.pcolormesh(Phi,R,data[:,:,0], color=color, linewidth=0)

# This is necessary to let the `color` argument determine the color

m.set_array(None)

plt.show()

xraaG.png

结果不是一个圆,因为你没有足够的点。重复数据,data = np.repeat(data, 25, axis=1)将允许得到一个圆。在

jxYlC.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值