Python数据挖掘04---matplotlib数据可视化分析

一、matplotlib基本介绍

  Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
  通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。

二、Matplotlib基础知识

1.Matplotlib中的基本图表包括的元素

(1)x轴和y轴:水平和垂直的轴线
(2)x轴和y轴刻度:刻度标示坐标轴的分隔,包括最小刻度和最大刻度
(3)x轴和y轴刻度标签:表示特定坐标轴的值
(4)绘图区域:实际绘图的区域

2.hold属性

  hold属性默认为True,允许在一幅图中绘制多个曲线;将hold属性修改为False,每一个plot都会覆盖前面的plot。
但是目前不推荐去动hold这个属性,这种做法(会有警告)。因此使用默认设置即可。

3.网格线

(1)grid方法

使用grid方法为图添加网格线
设置grid参数(参数与plot函数相同)
.lw代表linewidth,线的粗细
.alpha表示线的明暗程度

4.axis方法

  如果axis方法没有任何参数,则返回当前坐标轴的上下限

5.xlim方法和ylim方法

  除了plt.axis方法,还可以通过xlim,ylim方法设置坐标轴范围

三、基本实例

#导入模块
>>> import matplotlib.pylab as pyl

1、折线图

>>> x=[1,2,3,4,8]
>>> y=[5,6,2,1,5]
>>> pyl.plot(x,y)
[<matplotlib.lines.Line2D object at 0x000002A927FEAF28>]
>>> pyl.show() #显示图标  

显示如下图:
这里写图片描述

-  直线
>>> pyl.plot(x,y,'-')

-- 虚线 
>>> pyl.plot(x,y,'--')

-.-. 点线
>>> pyl.plot(x,y,'-.-.')

: 细小虚线
>>> pyl.plot(x,y,':')

2、散点图

>>> x=[1,2,3,4,8]
>>> y=[5,6,2,1,5]
>>> pyl.plot(x,y,'o')
[<matplotlib.lines.Line2D object at 0x000002A92BD498D0>]
>>> pyl.show() #显示图标  

这里写图片描述
点颜色设置

>>> pyl.plot(x,y,'oc') #则显示青色点
字符 代表颜色
c 青色
r 红色
m 品红
g 绿色
b 蓝色
y 黄色
k 黑色
w 白色
s 方形
* 星形
p 五角星形

3、图标基本属性

pyl.title()  #设置表格标题  

pyl.xlabel() #设置表格x轴名称 

pyl.ylabel() #设置表格y轴名称 

pyl.xlim()   #设置x轴范围  

pyl.ylim()   #设置y轴范围  

实例:

>>> x=[1,2,3,4,8]
>>> y=[5,6,2,1,5]
>>> pyl.title('blog')    #标题 blog
matplotlib.text.Text object at 0x000002A92EC6A080>
>>> pyl.xlabel('xxxx')   #x轴名称xxxx
<matplotlib.text.Text object at 0x000002A92EBFB8D0>
>>> pyl.xlabel('yyyy')   #y轴名称yyyy
<matplotlib.text.Text object at 0x000002A92E906FD0>
>>> pyl.xlim(0,20)       #x轴范围0-20
(0, 20)
>>> pyl.plot(x,y,'s')    #方形点状图
[<matplotlib.lines.Line2D object at 0x000002A92EC8E6A0>]
>>> pyl.show() #显示图标  

注意:X轴和y轴为中文时可能会显示乱码,在顶部添加这句
pyl.rcParams['font.sans-serif'] = ['SimHei']
将不会再有乱码
这里写图片描述

4、随机数的生成

导入模块
>>> import numpy as npy

#  data=npy.random.random_integers(最小值,最大值,个数)
>>> data=npy.random.random_integers(1,30,10)
>>> data2=npy.random.normal(5.0,2.0,10)
>>> data
array([25, 16, 30, 25,  2, 25,  3, 19, 18, 13])
>>> data2
array([ 6.28348994,  5.78003777,  5.18443582,  2.75916833,  3.55024659,
        6.11741264,  2.35804861,  5.6831255 ,  3.90073315,  7.21941365])

5、直方图

直方图:表示的是某一个数字在数组中出现的次数。
x轴:数字
y轴:出现的次数

>>> data2=npy.random.normal(5.0,2.0,10)
>>> data2
array([ 6.28348994,  5.78003777,  5.18443582,  2.75916833,  3.55024659,
        6.11741264,  2.35804861,  5.6831255 ,  3.90073315,  7.21941365])
>>> pyl.hist(data2)
>>> pyl.show()

这里写图片描述

6、子图

subplot(行,列,当前区域)

>>> x = [1,2,3,4,5]
>>> y = [2,3,1,4,2]
>>> x1 = [2,5,2,1,4]
>>> y1 = [2,5,2,1,4]
>>> pyl.subplot(2,2,1)  #二行,二列,第一块
<matplotlib.axes._subplots.AxesSubplot object at 0x0000023D569E0A90>

>>> pyl.plot(x,y)
[<matplotlib.lines.Line2D object at 0x0000023D56A54240>]

>>> pyl.subplot(2,2,2)  #二行,二列,第二块
<matplotlib.axes._subplots.AxesSubplot object at 0x0000023D56A543C8>

>>> pyl.plot(x1,y1)
[<matplotlib.lines.Line2D object at 0x0000023D56A4DB00>]

>>> pyl.subplot(2,1,2) #二行,一列,第一块
<matplotlib.axes._subplots.AxesSubplot object at 0x0000023D54FFB320>

>>> pyl.plot(x1,y1)
[<matplotlib.lines.Line2D object at 0x0000023D54FFBF28>]

>>> pyl.show()

这里写图片描述

发布了56 篇原创文章 · 获赞 24 · 访问量 5万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览