背景
最近在做一些文本聚类的工作,在看数据的可视化分布的时候,采用了seaborn来绘制散点图。因此想着写一篇关于seaborn绘制散点图的博客。
前期准备
首先,检查下你的python是否有 matplotlib 还有seaborn库。同时,由于seaborn常用pandas 的数据格式作为data输入,所以也要检查下pandas。
pip list | grep matplotlib
pip list | grep seaborn
pip list | grep pandas
如果没有对应的库的话:
pip install matplotlib
pip install seaborn
pip install pandas
参数使用
接下来,我们主要是采用seaborn来绘制它的散点图,可以看下seaborn绘制散点图的官方文档。seaborn的绘制散点图的官方api文档如下所示。
seaborn.scatterplot — seaborn 0.13.0 documentation
因为是绘制二维的散点图,我们主要用的相关的参数有:data、x、y、hue。
data:data的输入可以为pandas的DataFrame结构,可以为numpy的array,也可以是对应的mapping,或者是序列输入数据结构。或者甚至能是可以在内部能够命名能够做修改的向量或者数据集。在本例的应用当中,我们使用的是pandas的数据结构。
x, y:是对应的数据的x轴和y轴
hue:数据的标签。
本次使用pandas的DataFrame作为数据的输入,数据示例如下图所示:
代码示例
# -*- coding: utf-8 -*-
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('white') # 设置为白色背景
csv_path = "/Users/Desktop/seaborn_test.csv"
file = pd.read_csv(csv_path) # 把csv转为pandas的DataFrame
ax = sns.scatterplot(x="x", y="y", hue="label", data=file)
plt.legend(loc='best') # 添加图例
plt.title("seaborn test") # 设置图片名称
plt.show() # 显示图片
结果如下图所示:
散点图绘制完成。