使用 Seaborn 绘制 numpy 数组

use*_*905 9 python numpy machine-learning matplotlib seaborn

我正在使用 python 2.7。我知道这将是非常基本的,但是我真的很困惑,我想更好地了解 seaborn。

我有两个 numpy 数组Xy我想使用 Seaborn 来绘制它们。

这是我的Xnumpy 数组:

[[ 1.82716998 -1.75449225]
 [ 0.09258069  0.16245259]
 [ 1.09240926  0.08617436]]
Run Code Online (Sandbox Code Playgroud)

这是ynumpy 数组:

[ 1. -1.  1. ]
Run Code Online (Sandbox Code Playgroud)

考虑到y数组中的类标签,如何成功绘制我的数据点?

谢谢,

dev*_*ssh 6

您可以使用 seaborn 函数来绘制图形。执行 dir(sns) 以查看所有图。这是您在sns.scatterplot. 您可以在此处查看 api 文档或在此处查看带图的示例代码

import seaborn as sns 
import pandas as pd

df = pd.DataFrame([[ 1.82716998, -1.75449225],
 [ 0.09258069,  0.16245259],
 [ 1.09240926,  0.08617436]], columns=["x", "y"])

df["val"] = pd.Series([1, -1, 1]).apply(lambda x: "red" if x==1 else "blue")


sns.scatterplot(df["x"], df["y"], c=df["val"]).plot()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明 这是您想要的确切输入输出吗?

您可以使用 pyplot 来完成,只需导入 seaborn 更改 pyplot 颜色和绘图方案

import seaborn as sns 

import matplotlib.pyplot as plt
fig, ax = plt.subplots()

df = pd.DataFrame([[ 1.82716998, -1.75449225],
 [ 0.09258069,  0.16245259],
 [ 1.09240926,  0.08617436]], columns=["x", "y"])
df["val"] = pd.Series([1, -1, 1]).apply(lambda x: "red" if x==1 else "blue")
ax.scatter(x=df["x"], y=df["y"], c=df["val"])
plt.plot()
Run Code Online (Sandbox Code Playgroud)

这是对 sns.lmplot 执行相同操作的stackoverflow 帖子