首页 > 解决方案 > 具有定义轴限制的 Seaborn 联合图

问题描述

我正在尝试使用 Seaborn 的联合绘图命令生成一些数字。我有一个名为“数据”的元组列表,其中包含需要绘制的坐标 (x,y)。x 坐标在 (200,1400) 范围内,y 坐标在 (300,900) 范围内。但是,我需要展示我正在工作的整个区域,展示点的集中度。我需要 x 坐标在 (0,3000) 范围内,y 坐标在 (0-1200) 范围内,但我没有这样做。

这是我的代码:

import seaborn as sns
import numpy as np

np.shape(y)
xx = np.linspace(0,1080,np.shape(y))
yy = np.linspace(0,1920,np.shape(y))

sns.jointplot(xx="x", yy="y", data=data, kind="kde")

我返回错误:“TypeError:jointplot() 缺少 2 个必需的位置参数:'x' 和 'y'”。

如果我不使用 xx 和 yy 变量,它会自动给出坐标轴限制的图。

在此处输入图像描述

如何将轴设置为我需要的范围?

标签: pythonseaborn

解决方案


您可以绘制数据并稍后修改绘图的轴限制:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# generate some random date
x = np.random.normal(loc=650, scale=100, size=1000)
y = np.random.normal(loc=600, scale=200, size=1000)

plot = sns.jointplot(x, y, kind="kde")
plot.ax_marg_x.set_xlim(0, 3000)
plot.ax_marg_y.set_ylim(0, 1200)

plt.show()

推荐阅读