当前位置:   article > 正文

数据可视化_数据可视化中的数据标记,标记取值是什么符号

数据可视化中的数据标记,标记取值是什么符号

数据可视化

数据可视化概述

常见的图表类型

图表是指在屏幕中显示的、可以直观地展示统计信息、对知识挖掘和信息生动感受起关键作用的图形结构。
在这里插入图片描述
直方图,又称作质量分布图,它是由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据的类型,纵轴表示分布情况。
在这里插入图片描述
折线图是用直线段将各数据点连接起来而组成的图形,以折线的方式显示数据的变化趋势。
在这里插入图片描述
条形图是用宽度相同的条形的高度或者长短来表示数据多少的图形,可以横置或纵置,纵置时也称为柱形图。
在这里插入图片描述
饼图可以显示一个数据序列中各项的大小与各项总和的比例,每个数据序列具有唯一的颜色或图形,并且与图例中的颜色是相对应的。
在这里插入图片描述
在回归分析中,散点图是指数据点在直角坐标系平面上的分布图,通常用于比较跨类别的数据。散点图包含的数据点越多,比较的效果就会越好。

在这里插入图片描述
箱形图又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。
在这里插入图片描述
直方图:适于比较数据之间的多少。
折线图:反映一组数据的变化趋势。
条形图:显示各个项目之间的比较情况,和直方图有类似的作用。
散点图:显示若干数据系列中各数值之间的关系。
箱形图:识别异常值方面有一定的优越性。

在这里插入图片描述

Matplotlib—绘制图表

通过figure()函数创建画布

import matplotlib.pyplot as plt
  • 1

另外,如果要在Jupyter Notebook中绘图,则需要增加如下魔术命令:

%matplotlib inline
  • 1

pyplot模块中默认有一个Figure对象,该对象可以理解为一张空白的画布,用于容纳图表的各种组件。
在这里插入图片描述
在这里插入图片描述
如果不希望在默认的画布上绘制图形,则可以调用figure()函数构建一张新的空白画布

matplotlib.pyplot.figure(num = None,figsize = None,dpi = None,facecolor = None,edgecolor = None, ...,** kwargs)
  • 1

注释:num – 表示图形的编号或名称。
figsize – 用于设置画布的尺寸。
facecolor – 用于设置画板的背景颜色。
edgecolor – 用于显示边框颜色。

调用figure()函数创建新的空白画布

figure_obj = plt.figure()
  • 1

还可以在创建画布时为其添加背景颜色,即设置facecolor参数。

在这里插入图片描述
在这里插入图片描述
要想在画布上创建一个子图,则可以通过subplot()函数实现。

subplot(nrows, ncols, index, **kwargs)
  • 1

注释:nrows,ncols – 表示子区网格的行数、列数。
index – 表示矩阵区域的索引。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果希望一次性创建一组子图,则可以通过subplots()函数进行实现。

subplots(nrows = 1,ncols = 1,sharex = False,sharey = False,squeeze = True,subplot_kw = None,gridspec_kw = None,** fig_kw)
  • 1

注释:nrows,ncols – 表示子区网格的行数、列数。
sharex,sharey – 表示控制x或y轴是否共享。

注:subplots()函数会返回一个元组,元组的第一个元素为Figure对象(画布),第二个元素为Axes对象(子图,包含坐标轴和画的图)或Axes对象数组。如果创建的是单个子图,则返回的是一个Axes对象,否则返回的是一个Axes对象数组。

通过add_subplot()方法添加和选中子图

还可以通过Figure类的add_subplot()方法添加和选中子图。

add_subplot(* args,** kwargs )
  • 1

上述方法中,args参数表示一个三位数的实数或三个独立的实数,用于描述子图的位置。比如“a, b, c”,其中a和b表示将Figure对象分割成ab大小的区域,c表示当前选中的要操作的区域。

在这里插入图片描述

每调用一次add_subplot()方法只会规划画布划分子图,且只会添加一个子图当调用plot()函数绘制图形时,会画在最后一次指定子图的位置上

添加各类标签

在这里插入图片描述
在这里插入图片描述

多学一招:图表正确显示中文

在这里插入图片描述
在python脚本中动态设置matplotlibrc,这样就可以避免由于更改配置文件而造成的麻烦。

from pylab import mp
l# 设置显示中文字体
mpl.rcParams[‘font.sans-serif] = [‘SimHei’] 
  • 1
  • 2
  • 3

另外,由于字体更改以后,会导致坐标轴中的部分字符无法正常显示,这时需要更改axes.unicode_minus参数。

# 设置正常显示符号
mpl.rcParams['axes.unicode_minus'] = False
  • 1
  • 2

绘制常见图表

在这里插入图片描述
pyplot模块的hist()函数用于绘制直方图。

matplotlib.pyplot.hist(x,bins = None,range = None,color = None,label = None, ..., ** kwargs)
  • 1

注释: x – 表示输入值。 bins – 表示绘制条柱的个数。range – bins的上下范围(最大和最小值)。color – 表示条柱的颜色,默认为None。

通过hist()函数绘制直方图的示例如下。在这里插入图片描述

 arr_random = np.random.randn(100)
 # 绘制直方图
 plt.hist(arr_random, bins=8, color='g', alpha=0.7)plt.show() 
  • 1
  • 2
  • 3

pyplot模块中的scatter()函数用于绘制散点图

 matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, alpha=None, linewidths=None,  ..., **kwargs)`  
  • 1

注释: x, y – 表示x轴和y轴对应的数据。
s – 指定点的大小。
c – 指定散点的颜色。
marker – 表示绘制的散点类型。
alpha – 表示点的透明度,接收0~1之间的小数。

通过scatter()函数绘制散点图的示例如下。

# x轴的数据
x = np.arange(51)
# 表示y轴的数据
y = np.random.rand(51) * 10plt.scatter(x, y)   
# 绘制散点图plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
pyplot模块中用于绘制柱状图的函数为bar()

bar(x, height, width, *, align='center', **kwargs) 
  • 1

x – 表示x轴的数据。
height – 表示条形的高度。
width – 表示条形的宽度,默认为0.8。color – 表示条形的颜色。edgecolor – 表示条形边框的颜色。

通过bar()函数绘制柱状图的示例如下

x = np.arange(5)
y1, y2 = np.random.randint(1, 31,size=(2, 5))
width = 0.25                                
ax = plt.subplot(1, 1, 1)
# 条形的宽度
ax.bar(x, y1, width, color='r')
ax.bar(x+width, y2, width, color='g') 
ax.set_xticks(x+width)
ax.set_xticklabels(['January', 'February', 'March', 'April ', 'May ']) 
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

多学一招:颜色、线型、标记的设置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本地保存图形

要想保存当前生成的图表,可以调用savefig()函数进行保存。

savefig(fname, dpi=None, facecolor='w', edgecolor='w', ...)
  • 1

注释:fname参数是一个包含文件名路径的字符串,或者是一个类似于Python文件的对象。如果format 参数设为None且fname参数是一个字符串,则输出格式将根据文件名的扩展名推导出来。

Seaborn—绘制统计图形

可视化数据的分布

import seaborn as sns
  • 1

另外,也可以在Jupyter Notebook中使用如下魔术命令绘图。

%matplotlib inline
  • 1

在这里插入图片描述
在这里插入图片描述
Seaborn中提供了一个distplot()函数,它默认绘制的是一个带有核密度估计曲线的直方图。

distplot(a, bins = None,hist = True,kde = True,rug = False, ...)    
  • 1

注释:a – 表示要观察的数据。
bins – 用于控制条形的数量。
hist – 表示是否绘制(标注)直方图。
kde – 表示是否绘制高斯核密度估计曲线。
rug – 表示是否在支持的轴方向上绘制rugplot。

注:如果希望使用Seaborn用Matplotlib的默认样式,则需要显式地调用set()或set_style()、set_context()和set_palette()中的一个或多个函数,以获取Seaborn或者Matplotlib默认的绘图样式。

在这里插入图片描述

# 显式调用set()获取默认绘图
sns.set()
np.random.seed(0)
arr = np.random.randn(100)
# 绘制直方图
ax = sns.distplot(arr, bins=10)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

思考:直方图中条柱数量不同,图表的效果会有差异吗?

直方图会因为条柱数量的不同导致图表的效果有着很大的差异,为了解决这个问题,可以绘制核密度估计曲线进行展现。核密度估计是在概率论中用来估计未知的密度函数,属于非参数检验方法之一,可以比较直观的看出数据样本本身的分布特征。

在这里插入图片描述

array_random = np.random.randint(0, 100, 500)
# 绘制核密度估计曲线
sns.distplot(array_random, hist=False, rug=True)
  • 1
  • 2
  • 3

通过jointplot()函数可以创建一个多面板图形,以显示两个变量之间的关系及每个变量在单独坐标轴上的单变量分布

seaborn.jointplot(x, y, data=None, kind='scatter', color=None, size=6, ratio=5, space=0.2, dropna=True, xlim=None, ylim=None, ..., **kwargs) 
  • 1

在这里插入图片描述

dataframe_obj = pd.DataFrame({"x":np.random.randn(500), "y": np.random.randn(500)})
# 绘制散布图
sns.jointplot(x="x", y="y", data=dataframe_obj)
  • 1
  • 2
  • 3

在这里插入图片描述

# 绘制二维直方图
sns.jointplot(x="x", y="y", data=dataframe_obj, kind="hex")
  • 1
  • 2

在这里插入图片描述

# 核密度估计
sns.jointplot(x="x", y="y", data=dataframe_obj, kind="kde")
  • 1
  • 2

在这里插入图片描述
注:Seaborn中内置的所有数据集,可点击链https://github.com/mwaskom/seaborn-data进行查看。

用分类数据绘图

在这里插入图片描述
在这里插入图片描述
通过stripplot()函数可以画一个散点图。

stripplot(x = None, y = None,hue = None,data = None,order = None,hue_order = None,jitter = False, ...,** kwargs)
  • 1

注释:x,y,hue – 用于绘制长格式数据的输入。
data – 用于绘制的数据集。如果x和y不存在,则它将作为宽格式,否则将作为长格式。
order,hue_order – 用于绘制分类的级别。
jitter – 表示抖动的程度(仅沿类别轴)。

在这里插入图片描述

# 加载内置的数据集tips
tips = sns.load_dataset("tips")
# 绘制散点图
sns.stripplot(x="day", y="total_bill", data=tips)

  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

# 加载内置的数据集tips
tips = sns.load_dataset("tips")
# 绘制散点图
sns.stripplot(x="day", y="total_bill", data=tips, jitter=True)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

# 加载内置的数据集tips
tips = sns.load_dataset("tips")
# 绘制散点图
sns.swarmplot(x="day", y="total_bill", data=tips)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
seaborn中用于绘制箱形图的函数为boxplot()。

 seaborn.boxplot(x = None, y = None,hue = None,data = None,orient = None, palette = None,saturation = 0.75, ..., ** kwargs) 
  • 1

注释:orient – 表示数据垂直或水平显示,取值为“v” | “h”。
palette --用于设置不同级别色相的颜色变量。
saturation – 用于设置数据显示的颜色饱和度。

# 加载内置的数据集tips
tips = sns.load_dataset("tips")
# 绘制箱形图
sns.boxplot(x="day", y="total_bill", data=tips)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
通过**violinplot()**函数可以绘制提琴图

seaborn.violinplot(x = None,y = None,hue = None,data = None,order = None,hue_order = None,bw ='scott',cut = 2,scale ='area',scale_hue = True,gridsize = 100,width = 0.8,inner ='box',split = False,dodge = True,orient = None,linewidth = None,color = None,palette = None,saturation = 0.75,ax = None,** kwargs)
  • 1

在这里插入图片描述

# 加载内置的数据集tips
tips = sns.load_dataset("tips")
# 绘制提琴图
sns.violinplot(x="day", y="total_bill", data=tips)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
在这里插入图片描述

# 加载内置的数据集tips
tips = sns.load_dataset("tips")
# 绘制条形图
sns.barplot(x="day", y="total_bill", data=tips)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

# 加载内置的数据集tips
tips = sns.load_dataset("tips")
# 绘制条形图
sns.pointplot(x="day", y="total_bill", data=tips)
  • 1
  • 2
  • 3
  • 4

交互式可视化库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本章小结

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/846883
推荐阅读
相关标签
  

闽ICP备14008679号