2024年Python最新Python数据可视化的10种技能_可视化研究需要python的什么技术(1)

本文介绍了数据可视化中的单变量分析和多变量分析,重点讲解了如何使用Matplotlib和Seaborn库绘制散点图、折线图和直方图。通过实例演示,展示了两种库在绘制这些常见图表上的应用和区别。
摘要由CSDN通过智能技术生成

分布:关注单个变量,或者多个变量的分布情况,比如直方图。

同样,按照变量的个数,我们可以把可视化视图划分为单变量分析和多变量分析。

  • **单变量分析指的是一次只关注一个变量。**比如我们只关注“身高”这个变量,来看身高的取值分布,而暂时忽略其他变量。
  • **多变量分析可以让你在一张图上可以查看两个以上变量的关系。**比如“身高”和“年龄”,你可以理解是同一个人的两个参数,这样在同一张图中可以看到每个人的“身高”和“年龄”的取值,从而分析出来这两个变量之间是否存在某种联系。

可视化的视图可以说是分门别类,多种多样,今天我主要介绍常用的10种视图,包括了散点图、折线图、直方图、条形图、箱线图、饼图、热力图、蜘蛛图、二元变量分布、成对关系。

散点图

散点图的英文叫做scatter plot,它将两个变量的值显示在二维坐标中,非常适合展示两个变量之间的关系。当然,除了二维的散点图,我们还有三维的散点图。

我在上一讲中给你简单介绍了下Matplotlib这个工具,在Matplotlib中,我们经常会用到pyplot这个工具包,它包括了很多绘图函数,类似Matlab的绘图框架。在使用前你需要进行引用:

import matplotlib.pyplot as plt

在工具包引用后,画散点图,需要使用plt.scatter(x, y, marker=None)函数。x、y 是坐标,marker代表了标记的符号。比如“x”、“>”或者“o”。选择不同的marker,呈现出来的符号样式也会不同,你可以自己试一下。

下面三张图分别对应“x”“>”和“o”。

除了Matplotlib外,你也可以使用Seaborn进行散点图的绘制。在使用Seaborn前,也需要进行包引用:

import seaborn as sns

在引用seaborn工具包之后,就可以使用seaborn工具包的函数了。如果想要做散点图,可以直接使用sns.jointplot(x, y, data=None, kind=‘scatter’)函数。其中x、y是data中的下标。data就是我们要传入的数据,一般是DataFrame类型。kind这类我们取scatter,代表散点的意思。当然kind还可以取其他值,这个我在后面的视图中会讲到,不同的kind代表不同的视图绘制方式。

好了,让我们来模拟下,假设我们的数据是随机的1000个点。

我们运行一下这个代码,就可以看到下面的视图(第一张图为Matplotlib绘制的,第二张图为Seaborn绘制的)。其实你能看到Matplotlib和Seaborn的视图呈现还是有差别的。Matplotlib默认情况下呈现出来的是个长方形。而Seaborn呈现的是个正方形,而且不仅显示出了散点图,还给了这两个变量的分布情况。

Matplotlib绘制:

Seaborn绘制:

扩展阅读:

数据可视化:掌握数据领域的万金油技能

折线图

折线图可以用来表示数据随着时间变化的趋势。

在Matplotlib中,我们可以直接使用plt.plot()函数,当然需要提前把数据按照X轴的大小进行排序,要不画出来的折线图就无法按照X轴递增的顺序展示。

在Seaborn中,我们使用sns.lineplot (x, y, data=None)函数。其中x、y是data中的下标。data就是我们要传入的数据,一般是DataFrame类型。

这里我们设置了x、y的数组。x数组代表时间(年),y数组我们随便设置几个取值。下面是详细的代码。

然后我们分别用Matplotlib和Seaborn进行画图,可以得到下面的图示。你可以看出这两个图示的结果是完全一样的,只是在seaborn中标记了x和y轴的含义。

直方图

直方图是比较常见的视图,它是把横坐标等分成了一定数量的小区间,这个小区间也叫作“箱子”,然后在每个“箱子”内用矩形条(bars)展示该箱子的箱子数(也就是y值),这样就完成了对数据集的直方图分布的可视化。

在Matplotlib中,我们使用plt.hist(x, bins=10)函数,其中参数x是一维数组,bins代表直方图中的箱子数量,默认是10。

在Seaborn中,我们使用sns.distplot(x, bins=10, kde=True)函数。其中参数x是一维数组,bins代表直方图中的箱子数量,kde代表显示核密度估计,默认是True,我们也可以把kde设置为False,不进行显示。核密度估计是通过核函数帮我们来估计概率密度的方法。

这是一段绘制直方图的代码。

我们创建一个随机的一维数组,然后分别用Matplotlib和Seaborn进行直方图的显示,结果如下,你可以看出,没有任何差别,其中最后一张图就是kde默认为Ture时的显示情况。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
//bbs.csdn.net/topics/618317507)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 24
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值