如何更改 seaborn 联合图中的十六进制大小? (六角形本身,而不是垃圾箱)

问题描述 投票:0回答:2

在 Seaborn 中使用六边形联合图来生成一些“热图”,显示篮球运动员在球场上投篮次数最多的位置。数据来自 pandas 数据框,其中 LocX 代表球员在球场上的水平位置(-250 和 250 是边线,0 与篮筐成一直线),LocY 是距篮筐的纵向距离。我使用相同的代码为多个玩家生成地图,但玩家之间的六边形大小差异很大(即使两个玩家的总射击次数相似)。这就是我想要的结果 Good Plot

但这里根本不起作用Bad Plot

这是我生成它的代码:

cmap=plt.cm.gist_heat_r
joint_shot_chart = sns.jointplot(shot_df.LocX, shot_df.LocY, stat_func=None, kind='hex', space=0, color=cmap(.2), cmap=cmap)

有一个 kwarg 可以用来改变六边形的大小吗?

python python-2.7 pandas seaborn
2个回答
13
投票

您可以解析

gridsize
参数。值越高,六边形越小。

import numpy as np, pandas as pd; np.random.seed(0)
import seaborn as sns; sns.set(style="white", color_codes=True)

tips = sns.load_dataset("tips")
joint_kws=dict(gridsize=5)
g = sns.jointplot(x="total_bill", y="tip", data=tips,kind="hex", joint_kws= joint_kws)

0
投票

将 numpy 导入为 np,将 pandas 导入为 pd; np.随机.种子(0) 将seaborn导入为sns; sns.set(style="white", color_codes=True)

提示 = sns.load_dataset("提示") g = sns.jointplot(x="total_bill", y="tip", data=tips,kind="hex",gridsize=20)

© www.soinside.com 2019 - 2024. All rights reserved.