python-绘图与可视化

python-绘图与可视化


前言

python 有许多可视化工具,但本书只介绍Matplotlib。Matplotlib是一种2D的绘图库,它可以支持硬拷贝和跨系统的交互,它可以在python脚本,IPython的交互环境下、Web应用程序中使用。该项目是由John Hunter 于2002年启动,其目的是为python构建MATLAB式的绘图接口。如果结合使用一种GUI工具包(如IPython),Matplotlib还具有诸如缩放和平移等交互功能。它不仅支持各种操作系统上许多不同的GUI后端,而且还能将图片导出为各种常见的矢量(vector)和光栅(raster)图:PDF、SVG、JPG、PNG、BMP、GIF等。`
例如:第一章 Python 机器学习入门之pandas的使用

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Matplotlib 程序包

所谓“一图胜千言”,我们很多时候需要通过可视化的方式查看、分析数据,虽然pandas中也有一些绘图操作,但是相比较而言,Matplotlib在绘图显示效果方面更加绚丽。Pyplot为Matplotlib提供了一个方便的接口,我们可以通过pyplot对matplotlib进行操作,多数情况下pyplot的命令与MATLAB有些相似。
导入Matplotlib包进行简单的操作(此处需要安装pip install matplotlib):

import matplotlib.pyplot as plt
#首先定义两个函数(正弦&余弦)
import numpy as np
X = np.linspace(-np.pi,np.pi,256,endpoint=True)  #-Π to +Π的256个值
C,S = np.cos(X),np.sin(X)
plt.plot(X,C)
plt.plot(X,S)
#在ipython 的交互环境中需要这句才能显示出来
plt.show()

在这里插入图片描述

二、绘图命令的基本架构及其属性设置

上面的例子我们可以看出,几乎所有的属性和绘图的框架我们都选用默认设置。现在我们来看Pyplot 绘图的基本框架是什么,用过photoshop的人都知道,作图时先要定义一个画布,此处的画布就是Figure,然后把其他素材“画”到该Figure上。

(1)在Figure 上创建子plot,并设置属性

代码如下(示例):

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10,1000)  #X轴数据
y1 = np.sin(x)   #Y轴数据
y2 = np.cos(x**2)  #Y轴数据
plt.figure(figsize=(8,4))

plt.plot(x,y1,label="$sin(x)$",color="red",linewidth=2)
plt.plot(x,y2,"b--",label="$cos(x^2)$")
#指定曲线的颜色和线形,如“b--”表示蓝色虚线(b:蓝色,-:虚线)
plt.xlabel("Time(s)")
plt.ylabel("Volt")
plt.title("PyPlot First Example")

#书上写的是:plt.figure(figsize(8,4))
#注意:会报错  name 'figsize' is not defined
#这里figsize是一个参数,并不是一个函数,给参数赋值中间需要加一个等号,写为:plt.figure(figsize=(8,4))

#使用关键字参数可以指定所绘制的曲线的各种属性:
#label:给曲线指定一个标签名称,此标签将在图示中显示。如果标签字符串的前后有字符“$”,则Matplotlib 会使用其内嵌的LaTex引擎将其显示为数学公式
#color:指定曲线的颜色。颜色可以用如下方法表示
#英文单词
#以“#”字符开头的3个16进制数,如“#ff0000”表示红色。以0~1的RGB表示,如(1.0,0.0,0.0)也表示红色
#linewidth:指定曲线的宽度,可以不是整数,也可以使用缩写形式的参数名lw
plt.ylim(-1.5,1.5)
plt.legend()
plt.show()

在这里插入图片描述

(2)在Figure上创建多个子plot

如果需要同时绘制多幅图表的话,可以给Figure传递一个整数参数指定图表的序号,如果所指定序号的绘图对象已经存在的话,将不创建新的对象,而只是让它成为当前绘图对象,具体分析和代码如下:

代码如下(示例):

import numpy as np
import matplotlib.pyplot as plt
fig1 =plt.figure(2)
plt.subplot(211)
#subplot(211)把绘图区域等分为2行*1列共两个区域
#然后在区域1(上区域)中创建一个轴对象
plt.subplot(212)#在区域2(下区域)创建一个轴对象
plt.show()

在这里插入图片描述
#我们还可通过命令再次拆分这些块(相当于Word中拆分单元格的操作)

f1 = plt.figure(5)
plt.subplot(221)
plt.subplot(222)
plt.subplot(212)
plt.subplots_adjust(left = 0.08
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值