您的位置:首页 > 编程语言 > Python开发

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

2017-09-17 15:26 1296 查看

一、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()


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息