[数据可视化]Seaborn简单介绍

什么是Seaborn Seaborn是基于matplotlib的图形可视化python包。它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表。
Seaborn是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。同时它能高度兼容numpy与pandas数据结构以及scipy与statsmodels等统计模式。
按照国际惯例,先装一波

pip3 install seaborn

什么报错了,报错是肯定的,seaborn包依赖于scipy包,所以要先装scipy,解决方法如下:
升级pip解决了这个问题
python3 -m pip install --upgrade pip# 安装包并安装这个包所需的依赖包(sc) pip3 install seaborn -U# 或者 pip3 install scipy pip3 install seaborn

seaborn API Seaborn 要求原始数据的输入类型为 pandas 的 Dataframe 或 Numpy 数组,画图函数有以下几种形式:
sns.图名(x='X轴 列名', y='Y轴 列名', data=https://www.it610.com/article/原始数据df对象)
sns.图名(x='X轴 列名', y='Y轴 列名', hue='分组绘图参数', data=https://www.it610.com/article/原始数据df对象)
sns.图名(x=np.array, y=np.array[, ...])
  • 直方图的绘制
barplot
将点估计和置信区间显示为矩形条。
条形图表示具有每个矩形的高度的数值变量的集中趋势的估计,并且使用误差条提供围绕该估计的不确定性的一些指示
API介绍
seaborn.barplot(x=None, y=None, hue=None, data=https://www.it610.com/article/None, order=None, hue_order=None, estimator=, ci=95, n_boot=1000, units=None, orient=None, color=None, palette=None, saturation=0.75, errcolor='.26', errwidth=None, capsize=None, dodge=True, ax=None, **kwargs)

Example for barplot
import seaborn as sns import numpy as np import pandas as pd import matplotlib.pyplot as pltx = np.arange(8) y = np.array([1,5,3,6,2,4,5,6])df = pd.DataFrame({"x-axis": x,"y-axis": y})sns.barplot("x-axis","y-axis",palette="RdBu_r",data=https://www.it610.com/article/df) plt.xticks(rotation=90) plt.show()

横坐标为0-7的整数,纵坐标表示这八个整数分别所占的权重,调整 palette 参数可以美化显示风格
[数据可视化]Seaborn简单介绍
文章图片
image seaborn.barplot实战 1.数据集 通过爬虫爬取了猫眼上面,用户对电影《狄仁杰之四大天王》的影评,如下图所示,包括
(1.评论时间; (2.评论者的用户ID; (3.评论者所在地区; (4.评分; (5.评论内容
根据评分,我们来看一看,电影的评分的分布情况

[数据可视化]Seaborn简单介绍
文章图片
image 2.代码
import pandas as pd import matplotlib.pyplot as plt import seaborn as snsf = open('狄仁杰.txt',encoding='UTF-8') data = https://www.it610.com/article/pd.read_csv(f,sep=',',header=None,encoding='UTF-8',names=['date','nickname','city','rate','comment'])#评分分析 rate = data['rate'].value_counts() sns.set_style("darkgrid") bar_plot = sns.barplot(x=(rate.index),y=(rate.values/sum(rate)),palette="muted") plt.xticks(rotation=90) plt.show()

通过pandas,读取出数据在 data中,评分在rate下面 ,data['rate'].value_counts(),统计出各分数的人数,如下图所示
[数据可视化]Seaborn简单介绍
文章图片
image 最后横坐标为rate.index(0.0,0.5,1.0,1.5....5.0),纵坐标为给出各分数的人数/总人数,这很容易理解,最后算出的就是,这个评分所占的比例。
3.分析结果 [数据可视化]Seaborn简单介绍
文章图片
image 看到超过40%的人给出了5.0的评分,超过85%的人给出了3.5以上的评分,至少说明这部电影在口碑方面上取得的成绩是比较好的.
小结 【[数据可视化]Seaborn简单介绍】结合爬虫爬取下来的电影数据,根据评分来通过seaborn绘制出评分的发布直方图,只介绍了seaborn的一种方法,不要着急,stpe by stpe.事实上一头扎进文档里,我相信看过5种绘图方式,你就记不住了,方法学会了,之后,根据需求,查阅文档,现学现用就行了

    推荐阅读