博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python数据可视化之散点图(基础篇---图文并茂详细版!!!)
阅读量:3960 次
发布时间:2019-05-24

本文共 2246 字,大约阅读时间需要 7 分钟。

Python数据可视化之散点图

介绍

       •数据可视化的应用十分广泛,几乎可以应用于自然科学、工程技术、金融、通信和商业等各种领域。下面我们基于Python,介绍一下第一个常用知识点—散点图

准备工作

所需的库

       •为了使数据可视化我们需要安装下述的库,再进行可视化操作!!

       •numpy:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库

pip install numpy -i https://pypi.douban.com/simple

       •pandas:Pandas 是 Python 语言的一个扩展程序库,用于数据分析,还是一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算),还可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据

pip install pandas -i https://pypi.douban.com/simple

       •matplotlib:是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式

pip install matplotlib -i https://pypi.douban.com/simple

虚拟环境

       •建议在开始操作python可视化之前,创建一个新的虚拟环境,方便管理与操作!!!

       •虚拟环境的作用:我们可以通过创建多个虚拟环境实现环境拆分,每个虚拟环境安装不同版本的库,从而满足不同的需求,各个虚拟环境之间相互独立、不对其它环境产生影响!!!
       •虚拟环境参考博文:
       •上述博文博主亲测有效!!!

简单散点图

       •代码需求:绘制一个一元函数的散点图

       •使用matplotlib中的scatter()函数进行绘图!!
代码测试:

# 导入我们所需的库 as:即给库取别名,方便书写import matplotlib.pyplot as pltimport numpy as np# 定义数据x = np.random.rand(10)  # 取出10个随机数y = x + x ** 2 - 10  # 用自定义关系确定y的值# 绘图# 1. 确定画布plt.figure(figsize=(8, 4))  # figsize:确定画布大小 # 2. 绘图plt.scatter(x,  # 横坐标            y,  # 纵坐标            c='red',  # 点的颜色            label='function')  # 标签 即为点代表的意思# 3.展示图形plt.legend()  # 显示图例plt.show()  # 显示所绘图形

图形展示:

在这里插入图片描述

       •如果需要将图片保存到本地需将上述代码中的的plt.show() # 显示所绘图形更换成如下代码:

plt.savefig('需要保存图片的路径地址/图片名.jpg')  # 图片名可自定义(必须写图片名称.jpg)

总结

       •plt.show()不能和plt.savefig()同时使用,即为展示图片和保存图片不能同时使用!!

       •横坐标与纵坐标可以随意取值,但必须要有!!
       •当scatter()函数中有label属性时,必须要有显示图例语句!!即:plt.legend()
       •scatter()函数中还有s属性,为数据点尺寸大小!!

s=50 #数据点尺寸大小

       •横坐标x与纵坐标y的值是一一对应的,一个x对应生成一个y!!

两种不同颜色和图例的散点图

       •代码需求:将十个不同的点分成(0,1)两类,每一类都展示不同的颜色!!!

代码测试:

# 导入我们所需的库 as:即给库取别名,方便书写import matplotlib.pyplot as pltimport numpy as np# 生成数据x = np.random.rand(10, 2)  # 生成10行 2列的数据集y = np.array([0, 0, 1, 0, 1, 1, 0, 1, 0, 1])  # 二分类,将生成的数据点(x,y)分成0,1两类# 绘图# 1.确定画布plt.figure(figsize=(8, 4))colors = ['red', 'green']  # 建立颜色列表labels = ['Zero', 'One']  # 建立标签类别列表# 2.绘图for i in range(x.shape[1]):  # shape[] 类别的种类数量(2)    plt.scatter(x[y == i, 0],  # 横坐标                x[y == i, 1],  # 纵坐标                c=colors[i],  # 颜色                label=labels[i])  # 标签# 3.展示图形plt.legend()  # 显示图例plt.show()  # 显示图片

图片展示:

在这里插入图片描述

总结

       •当使用多种不同颜色来绘图时,需要使用循环在同一画布进行绘制,循环次数为分类的种类数量,即为:x.shape[1] x 分类种类数量 (2) !!

       •循环一次画一个颜色类别的点!!
       •需要分别建立颜色列表,标签类别列表,循环时进行使用!!
       •横,纵坐标使用切片的方式获得!!

转载地址:http://xyrzi.baihongyu.com/

你可能感兴趣的文章
Ruby on Rails(ROR) 实例开发之一 scaffold创建框架
查看>>
转: 我的android studio学习日记
查看>>
Android_Note(三)——添加、更新、保存记事本功能
查看>>
Ruby 的 Test::Unit
查看>>
创建数据方法
查看>>
JUnit单元测试的几个规律总结
查看>>
QTP之网页链接
查看>>
Fiddler实用教程
查看>>
从入门到深入Fiddler (一)
查看>>
从入门到深入Fiddler (二)
查看>>
Win7+php7+apache2.4
查看>>
QTP基本使用——associate actions
查看>>
charAt()方法和charCodeAt()方法—— 从字符串中选取一个字符.
查看>>
(1)Pascal 程序结构和基本语句
查看>>
LoadRunner之——脚本分析
查看>>
Advanced searching - fields reference
查看>>
Advanced searching - operators reference
查看>>
LoadRunner之——Java vuser
查看>>
LoadRunner之——场景创建、设置、运行
查看>>
QTP基本使用——Recovery Scenarios
查看>>