我已经成功实现了this答案中的代码,从而获得了下面的图像
从比较两个图像可以看出,即使可映射的图像序列相同,颜色的差异也很大。 我需要创建自己的颜色图以使颜色更明显吗?我的第二个问题是如何为整个图形绘制颜色条?
我的代码如下:
fig, ax = plt.subplots()
##Sonars plotting function -
def plot_inset(width, axis_main, data, x,y):
ax_sub= inset_axes(axis_main, width=width, height=width, loc=10,
bbox_to_anchor=(x,y),
bbox_transform=axis_main.transData,
borderpad=0.0, axes_class=get_projection_class("polar"))
theta = data["Bin_Mids"]
radii = data["Frequency"]
length = data["pass.length"]
colors = plt.cm.magma(length/100)
bars = ax_sub.bar(theta, radii, width=0.3, bottom=0.0, color = colors, alpha=0.5)
ax_sub.set_xticklabels([])
ax_sub.set_yticks([])
ax_sub.yaxis.grid(False)
ax_sub.xaxis.grid(False)
ax_sub.spines['polar'].set_visible(False)
##Calling the function
for player, loc in player_dict.items():
plot_inset(1.1,ax, data = Passer(player), x = loc[0], y = loc[1])
ax.text(loc[0]+10, loc[1], player, size = 6.25, rotation = -90)
player_dict
看起来像这样(示例):
player_dict = {'Sarah Bouhaddi': [0, 45], 'Marion Torrent': [42, 15], 'Gaëtane Thiney': [97, 68]} ##the list for every player is their x,y co-ordinate
我要发送给每个玩家的绘图功能的data
是一个数据框,看起来像这样(一个示例)-
Bin_Mids pass.length Frequency
0 1.3660 27.202942 1
1 1.0925 23.024565 3
2 0.8195 16.834414 3
3 0.5465 14.008925 1
4 -0.2735 21.906391 1
5 -0.5465 19.285486 1
6 -0.8195 20.975364 4
7 -1.0925 23.735166 3
次要问题
我面临的另一个问题是防止极地声纳隐藏音高线。我尝试设置zorder,但是没有用。有没有办法使声纳的框架不可见?
任何帮助将不胜感激。我不确定该问题中的所有问题是否都应有其自身的问题,因此我将它们联系在一起,将它们合并在一起。