python - 如何在绘制多个极坐标图的散点图时解决这些问题?
问题描述
我已成功实施此答案中的代码以获取下面的图像
从比较两张图像可以看出,即使可映射是同一系列,颜色的差异也很大。我是否需要创建自己的颜色图以使颜色更明显?我的第二个问题是如何为整个图形绘制颜色条?
我的代码如下所示:
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,但没有奏效。有没有办法让声纳的框架不可见?
任何帮助,将不胜感激。我不确定这个问题中的问题是否都值得提出自己的问题,所以我把它们都放在一起,因为它们是相关的。
解决方案
推荐阅读
- python - 在 Python 中从右侧覆盖 __iadd__
- php - 删除字符串的逗号和数字
- javascript - 未捕获的 TypeError:_plainDraggableDefault.default 不是构造函数
- angular - 什么是 R3InjectorError(AppModule)[Observable -> Observable -> Observable]
- node.js - 如何使用 node js mailer 制作一次性密码发送者
- python - 调用最小化窗口时出现新窗口(PyQt5)
- php - redis 不保存环境数据的原因
- python - ReadWriteMemory 将内存读取为 int 而不是 float
- java - 短信管理器不发送消息
- python - K-means 特征提取 Inception Resnet V2 (Calculate ARI)