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

什么是SeabornSeaborn是基于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 scipypip3 install seabornseaborn APISeaborn 要求原始数据的输入类型为 pandas 的 Dataframe 或 Numpy 数组,画图函数有以下几种形式:sns.图名(x='X轴 列名', y='Y轴 列名', data=原始数据df对象)sns.图名(x='X轴 列名', y='Y轴 列名', hue='分组绘图参数', data=原始数据df对象)sns.图名(x=np.array, y=np.array[, ...])直方图的绘制barplot将点估计和置信区间显示为矩形条。条形图表示具有每个矩形的高度的数值变量的集中趋势的估计,并且使用误差条提供围绕该估计的不确定性的一些指示API介绍seaborn.barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, estimator=<function mean>, 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 barplotimport seaborn as snsimport numpy as npimport pandas as pdimport 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=df)plt.xticks(rotation=90)plt.show()横坐标为0-7的整数,纵坐标表示这八个整数分别所占的权重,调整 palette 参数可以美化显示风格

imageseaborn.barplot实战1.数据集通过爬虫爬取了猫眼上面,用户对电影《狄仁杰之四大天王》的影评,如下图所示,包括(1.评论时间;(2.评论者的用户ID;(3.评论者所在地区;(4.评分;(5.评论内容根据评分,我们来看一看,电影的评分的分布情况

image2.代码import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsf = open('狄仁杰.txt',encoding='UTF-8')data = 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(),统计出各分数的人数,如下图所示

image最后横坐标为rate.index(0.0,0.5,1.0,1.5....5.0),纵坐标为给出各分数的人数/总人数,这很容易理解,最后算出的就是,这个评分所占的比例。3.分析结果

image看到超过40%的人给出了5.0的评分,超过85%的人给出了3.5以上的评分,至少说明这部电影在口碑方面上取得的成绩是比较好的.小结结合爬虫爬取下来的电影数据,根据评分来通过seaborn绘制出评分的发布直方图,只介绍了seaborn的一种方法,不要着急,stpe by stpe.事实上一头扎进文档里,我相信看过5种绘图方式,你就记不住了,方法学会了,之后,根据需求,查阅文档,现学现用就行了

(0)

相关推荐