matlab scatter函数绘制实心点_Matplotlib入门-5-plt.scatter( )绘制散点图

matlab scatter函数绘制实心点_Matplotlib入门-5-plt.scatter( )绘制散点图_第1张图片

在本篇文章中,我们将接触一个新的绘图函数plt.scatter( ),它用于散点图的绘制。从前几篇文章中,我们已经深知,学习Matplotlib绘图其实就是学习绘图函数中的参数!将参数活学活用,不同的参数搭配会产生不同的化学效应!

matlab scatter函数绘制实心点_Matplotlib入门-5-plt.scatter( )绘制散点图_第2张图片
认真学习完本章内容,这种图信手拈来

接下来,我们开始学习plt.scatter( )中各参数的作用以及参数值的传入

话不多说,直接上干货


如何查看一个函数有哪些参数?

第一步:以pycharm为例,在代码中,光标移动到函数名上,双击函数名(这里以sactter为例),变为下图显示方式

matlab scatter函数绘制实心点_Matplotlib入门-5-plt.scatter( )绘制散点图_第3张图片

第二步:Ctrl+Q,如下图所示,你就能知道该函数有哪些参数了

matlab scatter函数绘制实心点_Matplotlib入门-5-plt.scatter( )绘制散点图_第4张图片

可以看到,在scatter( )中,其参数如下:

matplotlib

下面,我将参数分为两大类,分开讲解


(1)基本参数讲解

  • x, y → 散点的坐标
  • s → 散点的面积
  • c → 散点的颜色(默认值为蓝色,'b',其余颜色同plt.plot( ))
  • marker → 散点样式(默认值为实心圆,'o',其余样式同plt.plot( ))
  • alpha → 散点透明度([0, 1]之间的数,0表示完全透明,1则表示完全不透明)
  • linewidths →散点的边缘线宽
  • edgecolors → 散点的边缘颜色

这里为了生成点的坐标,用到了numpy中的随机数生成器 np.random.rand(d0, d1, ..., dn)

  • rand( )函数根据给定维度生成[0,1)之间的随机数据(包含0,不包含1)
  • dn表示生成数据的维度
  • 返回值为指定维度的array

上代码直观感受
np.random.rand(4)生成了一维数据,如下[0.90906869 0.90382675 0.12846739 0.82934525]
np.random.rand(4,2)生成了二维数据,如下[[0.06704094 0.39773471] [0.66768398 0.22644566] [0.33790806 0.04170456] [0.68308087 0.85099505]]

以此类推 np.random.rand(d0, d1, ..., dn) 可以生成n维随机数

有这一利器,我们的随机散点坐标就有了着落,上代码上图

import 

matlab scatter函数绘制实心点_Matplotlib入门-5-plt.scatter( )绘制散点图_第5张图片

通过上面给出的基本参数进行优化,代码及图如下

import 

matlab scatter函数绘制实心点_Matplotlib入门-5-plt.scatter( )绘制散点图_第6张图片

有些明眼人一看,怎么优化前后两幅图散点的位置不一样了!?~

这就对了,因为这些点是由随机数生成器np.random.rand( )产生的,所以每次都不一样

(2)高级参数讲解

  • cmap → 指的是matplotlib.colors.Colormap,相当于多个调色盘的合集
  • norm、vmin、vmax → 散点颜色亮度设置

上代码上图,进一步解释

为了演示,这里要用到一点伪随机数生成方法,不做过多解释,不理解的请移步

【数据处理】numpy.random.RandomState的用法

import 

这里从cmap中选取了一个叫做'viridis'的调色盘,其作用是,将参数c中获取到的数值,映射到“色盘”中已经对应好的颜色上,多读两遍,好好理解!

matlab scatter函数绘制实心点_Matplotlib入门-5-plt.scatter( )绘制散点图_第7张图片

并且上图中从“色盘”viridis中获取到的颜色,可以通过plt.colorbar( )显示为颜色条(与热力图同理)。

代码和可视化结果图如下所示

import 

matlab scatter函数绘制实心点_Matplotlib入门-5-plt.scatter( )绘制散点图_第8张图片

从上图上,可以很明显的看出:

颜色映射的这维属性数据(颜色条表示),其值主要集中于[0.4, 0.8]之间

为了更好的观察这维属性数据,可以重新设置颜色条的映射范围

需要用到colors.Normalize( ),使用方法如下:

class matplotlib.colors.Normalize(vmin=None, vmax=None)

参数 vminvmax 分别为要设置的数据范围的最小值和最大值(注意:设置之后,原来大于vmax的值被“拉低”成vmax;原来小于vmin的值被“拉高”成vmin

代码和可视化结果图如下所示

import 

matlab scatter函数绘制实心点_Matplotlib入门-5-plt.scatter( )绘制散点图_第9张图片

对于数据可视化而言,我们要用多种方式方法,将数据映射到可视化界面上,因此,散点大小,形状,颜色等等均可以表示数据集中的某维属性,好好理解一下!


好了,今天到此为止,希望大家喜欢,动动小手,关注点赞~

你可能感兴趣的:(matlab,scatter函数绘制实心点,matplotlib,散点图,scatter的用法,随机颜色)