seaborn数据统计可视化-介绍
Seaborn
是一个用于在 Python
中制作统计图形的库。它基于 matplotlib
构建,并与 pandas
数据结构紧密集成。
Seaborn
能帮助您探索和理解数据。其绘图功能可作用于包含整个数据集的 DataFrame
和数组之上,并在内部执行必要的语义映射和统计聚合操作,从而生成具有信息量的图表。其面向数据集的声明式 API
能让您专注于图表中不同元素所代表的意义,而非绘制图表的细节。
看个例子:
针对这个例子,我们一个一个来梳理一下:
# 1. Import seaborn
import seaborn as sns
对于这个简单的示例,我们只需要导入 Seaborn
这一个库即可。按照惯例,我们使用简写形式 sns
来导入它。seaborn
使用 matplotlib
来绘制其图表。对于交互式工作,建议使用 matplotlib
模式下的 Jupyter/IPython
界面,否则您需要在想要查看图表时调用 matplotlib.pyplot.show()
函数。
# 2. Apply the default theme
sns.set_theme()
这会使用 matplotlib
的 rcParam
系统,并会影响所有 matplotlib
图表的外观,即便您并非通过 seaborn
来绘制图表也是如此。除了默认主题之外,还有其他几种选项,您可以独立控制图表的风格和缩放比例,从而快速在不同的展示场合之间转换您的工作成果(例如,在演讲期间投影时制作一个字体清晰可读的图表版本)。如果您喜欢 matplotlib
的默认设置或者更倾向于使用不同的主题,您可以跳过此步骤,但仍可使用 seaborn
的绘图函数。
# 3. Load an example dataset
tips = sns.load_dataset("tips")
文档中的大部分代码都会使用 load_dataset()
函数来快速获取示例数据集。这些数据集并没有什么特别之处:它们只是 pandas dataframes
而已,我们也可以用 pandas.read_csv()
函数加载它们或者手动构建它们。文档中的大多数示例都会使用 pandas dataframes
来指定数据,但 seaborn
对它所接受的数据结构非常灵活。
# 4. Create a visualization
sns.relplot(data=tips,x="total_bill", y="tip", col="time",hue="smoker", style="smoker", size="size",
)
这段代码展示了 tips
数据集中的五个变量之间的关系,它通过调用 seaborn
函数 relplot()
单次实现了这一操作。请注意,我们仅提供了变量的名称及其在图表中的作用。与直接使用 matplotlib
相比,这里无需根据颜色值或标记代码来指定图表元素的属性。在幕后,seaborn
处理了将dataframe
中的值转换为 matplotlib
可理解的参数这一过程。这种声明式的方法让您能够专注于想要回答的问题,而不是纠结于如何控制 matplotlib
的细节。