我使用的是Python 2.7。虽然这可能很基础,但我感到非常困惑,希望能更好地理解Seaborn。
我有两个numpy数组X
和y
,我想用Seaborn来绘制它们。
这是我的X
numpy数组:
[[ 1.82716998 -1.75449225] [ 0.09258069 0.16245259] [ 1.09240926 0.08617436]]
这是y
numpy数组:
[ 1. -1. 1. ]
如何成功地绘制我的数据点,并考虑到y
数组中的类别标签?
谢谢,
回答:
你可以使用seaborn函数来绘制图表。使用dir(sns)查看所有可用的图表。这里是使用sns.scatterplot
的输出。你可以查看API文档这里,或者带有图表的示例代码这里
import seaborn as sns import pandas as pddf = 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()
结果是
你也可以使用pyplot,仅仅导入seaborn就会改变pyplot的颜色和绘图方案
import seaborn as sns import matplotlib.pyplot as pltfig, 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()
这里有一个使用sns.lmplot
做同样事情的StackOverflow帖子