数据可视化(5)-Seaborn系列 | 柱状图countplot()

  • 2019 年 10 月 6 日
  • 筆記

本篇是《Seaborn系列》文章的第5篇-柱状图。

柱状图

seaborn.countplot()计数图、柱状图

解析:使用条形图(柱状图)显示每个分类数据中的数量统计

函数原型

seaborn.countplot(x=None, y=None, hue=None,                    data=None, order=None, hue_order=None,                    orient=None, color=None, palette=None,                    saturation=0.75, dodge=True, ax=None, **kwargs)

参数解读

table1
输入数据可以通过多种格式传递:    1.list、numpy数组、pandas  2.long-form DataFrame  3.wide-form DataFrame  4.在大多数情况下,可以使用numpy或Python对象,但推荐使用pandas对象,  因为关联的名称将用于注释轴。  此外,使用分类类型来分组变量来控制绘图元素的顺序。    可选:  x,y,hue:数据变量的名称(如上表,date,name,age,sex为数据字段变量名)  用于绘制数据的输入    data: DataFrame,数组或数组列表  用于绘图的数据集,如果x和y不存在,则将其解释为 wide-form,  否则它被认为是 long-form    order, hue_order:字符串列表  指定绘制分类级别,否则从数据对象推断级别    orient: v | h  图的显示方向(垂直或水平,即横向或纵向),这通常可以从输入变量的dtype推断得到    palette:调色板名称,list列表,dict字典  用于对变量调不同级别的颜色    saturation(饱和度):float  用于绘制颜色的原始饱和度的比例,如果希望绘图颜色与输入颜色规格完美匹配,  则将其设置为1    dodge:bool  使用色调嵌套时,是否应沿分类轴移动元素。

案例教程

import seaborn as sns  sns.set(style="darkgrid")  titanic = sns.load_dataset("titanic")  #查看数据  titanic[:8]
import seaborn as sns  import matplotlib.pyplot as plt  sns.set(style="darkgrid")  # 获取数据  titanic = sns.load_dataset("titanic")  """  案例1:显示单个分类变量的值统计数  """  sns.countplot(x="who", data=titanic)  plt.show()
import seaborn as sns  import matplotlib.pyplot as plt  sns.set(style="darkgrid")  # 获取数据  titanic = sns.load_dataset("titanic")  """  案例2:显示多个分类变量的值统计数  """  sns.countplot(x="class", hue="who", data=titanic)  plt.show()
import seaborn as sns  import matplotlib.pyplot as plt  sns.set(style="darkgrid")  # 获取数据  titanic = sns.load_dataset("titanic")  """  案例3:水平横向绘制条形图  """  sns.countplot(y="class", hue="who", data=titanic)  plt.show()
import seaborn as sns  import matplotlib.pyplot as plt  sns.set(style="darkgrid")  # 获取数据  titanic = sns.load_dataset("titanic")  """  案例4:使用不同调色板  """  sns.countplot(x="who", data=titanic, palette="Set2")  plt.show()
import seaborn as sns  import matplotlib.pyplot as plt  sns.set(style="darkgrid")  # 获取数据  titanic = sns.load_dataset("titanic")  """  案例5:使用catplot()来实现countplot()的统计效果,必须设置kind="count"  当要对其他分类变量进行分组时,使用catplot()比直接使用FacetGrid更加安全  """  sns.catplot(x="class", hue="who", col="survived",              data=titanic, kind="count",              height=4, aspect=.7);  plt.show()
import seaborn as sns  import matplotlib.pyplot as plt  sns.set(style="darkgrid")  # 获取数据  titanic = sns.load_dataset("titanic")  """  案例6:绘制空心的直方图  """  sns.countplot(x="who", data=titanic,                facecolor=(0, 0, 0, 0),                linewidth=5,                edgecolor=sns.color_palette("dark", 3))  plt.show()

案例地址

案例代码已上传:Github https://github.com/Vambooo/SeabornCN

整理制作:数据分析与可视化学研社

更多分享,请关注公众号