matplotlib.pyplot里的函数scatter( )用于绘制散点图。学习Matplotlib绘图其实就是学习绘图函数中的参数,不同的参数搭配会产生不同的化学效应!

scatter( )函数包含的参数如下所示:

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)

(1)基本参数讲解
x, y → 各散点的横坐标与纵坐标,x与y应当是向量,向量的大小要相同
s → 各散点的面积,可以为固定值,代表所有散点面积相同,也可以为一向量,向量的大小与x相同,代表不同的散点面积不同
c → 散点的颜色(默认值为蓝色,'b'),可以为固定值,代表所有散点颜色相同,也可以为一向量,向量的大小与x相同,代表不同的散点颜色不同
marker → 散点样式(默认值为实心圆,'o')
alpha → 散点透明度([0, 1]之间的数,0表示完全透明,1则表示完全不透明)
linewidths →散点的边缘线宽
edgecolors → 散点的边缘颜色
cmap → 指的是matplotlib.colors.Colormap,相当于多个调色盘的合集
norm、vmin、vmax → 散点颜色亮度设置

import matplotlib.pyplot as plt
import numpy as np#如果不传参数,则每次运行得到的随机数不同,传了参数后,每次运行得到的随机数相同
rng = np.random.RandomState(2)
x = rng.randn(50)  # 随机产生50个X轴坐标,各坐标值在[0,1]之间
y = rng.randn(50)  # 随机产生50个Y轴坐标colors = rng.rand(50)  # 随机产生50个用于颜色映射的数值
sizes = 700 * rng.rand(50)  # 随机产生50个用于改变散点面积的数值#每个点对应的颜色与大小各不相同
plt.scatter(x, y, c=colors, s=sizes, alpha=0.3, cmap='viridis')
plt.colorbar() #显示颜色条
plt.show()

效果图如下:

颜色映射的这维属性数据(颜色条表示),其值主要集中于[0.4, 0.8]之间,参数 vmin、vmax 分别为要设置的数据范围的最小值和最大值(注意:设置之后,原来大于vmax的值被“拉低”成vmax;原来小于vmin的值被“拉高”成vmin)。代码和可视化结果图如下所示:

import matplotlib.pyplot as plt
import numpy as nprng = np.random.RandomState(2)#如果不传参数,则每次运行得到的随机数不同,传了参数后,每次运行得到的随机数相同
x = rng.randn(50)  # 随机产生50个X轴坐标,各坐标值在[0,1]之间
y = rng.randn(50)  # 随机产生50个Y轴坐标colors = rng.rand(50)  # 随机产生50个用于颜色映射的数值
sizes = 700 * rng.rand(50)  # 随机产生50个用于改变散点面积的数值
plt.scatter(x, y, c=colors, s=sizes, alpha=0.3, cmap='viridis',vmin=0.4, vmax=0.8)
plt.colorbar()
plt.show()

用scatter函数绘制双月形数据集# make_moons是函数用来生成数据集
from sklearn import datasets
x,y = datasets.make_moons(n_samples=800,noise=0.3,shuffle=True,random_state=42)
x,y = datasets.make_moons(n_samples=800,noise=None,shuffle=False,random_state=None)

基中函数的具体参数如下:

n_samples:生成样本的数量,默认是100个样本
shuffle:数据是否打乱
noise:默认是false,数据集是否加入高斯噪声
random_state:生成随机种子,给定一个int型数据,能够保证每次生成数据相同。

from sklearn import datasets
import matplotlib.pyplot as plt
x, y = datasets.make_moons(noise=0.05)
plt.scatter(x[:,0], x[:,1],c=y )
plt.show()

效果图如下:

如果想让不同的类别显示不同的形状,可以针对不同的类别各画一次,每次用不同的点的形状即可,代码及效果图如下:

from sklearn import datasets
import matplotlib.pyplot as plt
import numpy as np
x, y = datasets.make_moons(noise=0.05)
counts = np.bincount(y) #统计每一类别的样本个数,此例只有两个类别,每类各50个样本
x0 = np.zeros((counts[0],x.shape[1]))
x1 = np.zeros((counts[1],x.shape[1]))
index1 = 0
index2 = 0
for i in range(x.shape[0]):if y[i]==0:x0[index1] = x[i,:]index1 = index1+1elif y[i] == 1:x1[index2] = x[i]index2 = index2+1plt.scatter(x0[:,0], x0[:,1],c='r',marker='*')
plt.scatter(x1[:,0], x1[:,1],c='g',marker='<')plt.show()

matplotlib.pyplot.scatter( )绘制散点图与双月形图相关推荐

  1. 【Python】函数图像绘制:二维图像、三维图像、散点图、心形图

    [Python]函数图像绘制:二维图像.三维图像.散点图.心形图 所有需要用的包 二维图像 三维图像 散点图绘制 心形图绘制 所有需要用的包 from mpl_toolkits.mplot3d imp ...

  2. cmap参数 plt_Matplotlib入门-5-plt.scatter( )绘制散点图

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

  3. matplotlib.pyplot.scatter API

    https://matplotlib.org/api/_as_gen/matplotlib.pyplot.scatter.html?highlight=scatter#matplotlib.pyplo ...

  4. 用MATLAB的函数scatter()绘制散点图

    我们经常用到离散数据的处理,这时候需要绘制散点图. 在MATLAB中可以用函数scatter()绘制散点图,其用法与函数plot()基本一致.只是plot()绘制的是二维线图.关于函数是plot()的 ...

  5. python matplotlib散点图-Matplotlib scatter绘制散点图的方法实现

    前言 考虑到很多同学可能还没有安装matplotlib包,这里给大家提供我常用的安装方法.首先Win键 + R,输入命令cmd打开命令行工具,再次在命令行工具中输入pip install matplo ...

  6. python Matplotlib.pyplot 如何绘制三维折线图, 散点图, 线框图, 表面图, 柱状图, 箭头图, 2D转3D图, 文本图, 3D拼图, 网状图, 直方图, 角面片图, 条状图?

    参考文章1: Matplotlib.pyplot 三维绘图 https://www.cnblogs.com/wuwen19940508/p/8638266.html 参考文章2: [python图像处 ...

  7. matplotlib.pyplot.plot()参数详解、线形图、条形图、散点图、饼状图、画布大小、位置、颜色、标题、图例、坐标轴刻度设置 实例详解

    文章目录 matplotlib.pyplot.plot()绘图文档 1. plot函数的一般的调用形式: 2. 参数fmt,以及一些常用参数举例 3.一些图形的绘制 1.线形图plt 2. 柱形图/条 ...

  8. 使用scatter()绘制散点图

    绘制简单散点图 要绘制单个点,使用scatter()函数,并向它传递一对x和y坐标,它将在指定位置绘制一个点 import matplotlib.pyplot as pltplt.scatter(2, ...

  9. Matplotlib可视化②——3D绘制散点图曲面图折线图等高线图

    公众号: 数据小斑马,关注即可获得价值1000元的数据分析学习资料 数据可视化系列汇总: Matplotlib可视化①--二维图表绘制(折线图&直方图&散点图&条形图& ...

最新文章

  1. JetBrains大力推广Kotlin为哪般?
  2. hadoop集群环境搭建准备工作
  3. 编程之美-斐波那契(Fibonacci)数列方法整理
  4. 解决mac安装homebrew后报错-bash: brew: command not found
  5. CAN笔记(7) CAN协议(二)
  6. 【PHP学习】—数组的定义和遍历(三)
  7. JAVA 设计模式 迭代器模式
  8. 【Oracle】设置快速恢复区及reset快速恢复区
  9. tcc分布式事务框架源码解析系列(四)之项目实战
  10. 宁波大学计算机专硕分数线,2019宁波大学研究生分数线汇总(含2016-2019历年复试)...
  11. android6.0如何锁定程序,如何在Android中制作应用程序锁定应用程序?
  12. docker构建自己的镜像
  13. 无刷直流电机四象限matlab pudn,一种无刷直流电机四象限PWM调制方式的分析和设计...
  14. java计算器项目 wbs分解_WBS功能分解
  15. Android 状态栏适配
  16. SpringCloud-25-Gateway:动态路由、过滤器使用
  17. 通带纹波、阻带纹波、通带最大波纹和阻带最小衰减
  18. 咸鱼软件应用—ubuntu切换中文
  19. a标签做按钮效果,并实现单选效果
  20. WiFi信号强度--SIGNAL_POLL

热门文章

  1. 又一暴强的截图工具 ShareX
  2. 虚拟化:gva、gpa、hva、hpa转化
  3. 微软、IBM对垒大数据
  4. Marvell宣战博通网络交换芯片,一大波饿狼扑食而来
  5. h264 i p 帧特点
  6. 春节义务帮人写了一个《求签在线查询》(ASP)
  7. matlab绘制加速度曲线,加速度积分得到速度和位移的问题小结
  8. matlab ewt使用方法,ewt升学e网通怎么使用,ewt升学e网通使用解析
  9. 论文阅读笔记《Meta-Learning with Memory-Augmented Neural Networks》
  10. 登录失败 12306服务器不稳定,12306显示登陆失败43003怎么办-12306登录显示43003含义详解...