1.绘制第一幅图表
(1)figure函数,创建图表
(2)subplot函数,创建子图
(3)在多个图表中创建子图
(4)plot()函数,画函数图像
(5)sca()函数,选择子图
(6)在 一张表中画多个曲线
2.直方图
3.散点图
4.饼图
5.图表的注释与标识
6.加载txt文件并绘图
1.绘制第一幅图表
(1)figure()函数,创建图表
- import matplotlib.pyplot as plt
- plt.figure(1) #创建图表1
- plt.figure(2) #创建图表2
- plt.show() #显示所有图表
(2)subplot() 创建子图
- import matplotlib.pyplot as plt
- plt.figure(1) #创建图表1
- plt.subplot(223) #创建2*2的图表矩阵,绘制的子图为矩阵中的3序号
- plt.show() #显示所有图表
子图的序号排序顺序是:从左到右,然后从上到下,逐次增加1
例如:subplot(2,2,1) 就是子图在上图的序号1的位置。
有如:显示四个子图
- import matplotlib.pyplot as plt
- plt.figure(1,dpi=50) #创建图表1,dpi为设置图表的大小,默认dpi=80
- plt.subplot(221)
- plt.subplot(222)
- plt.subplot(223)
- plt.subplot(224)
- plt.show() #显示所有图表
(3)在多个表中创建子图
- import matplotlib.pyplot as plt
- plt.figure(1,dpi=50) #创建图表1
- plt.subplot(111) #在图表1中创建子图
- plt.figure(2,dpi=50) #创建图表2
- plt.subplot(221) #在图表2中创建子图
- plt.show() #显示所有图表
(4)plot()函数,画函数图像
plot(x,y) 的 x 参数表示x值,y参数表示y值
- import numpy as np
- import matplotlib.pyplot as plt
- plt.figure(1,dpi=50)
- x= np.linspace(-np.pi,np.pi,100) # x轴的定义域为 -3.14~3.14,中间间隔100个元素
- plt.plot(x,np.sin(x))
- plt.show()
(5)sca()函数,选择子图
- import numpy as np
- import matplotlib.pyplot as plt
- plt.figure(1,dpi=50)
- ax1 = plt.subplot(211) #创建子图 ax1
- ax2 = plt.subplot(212) #创建子图 ax2
- x = np.linspace(0,10,100) # x轴定义域
- plt.sca(ax1) #选择子图ax1
- plt.plot(x,np.exp(x)) #在子图ax1 中绘制函数 exp(x)
- plt.sca(ax2) #选择子图ax2
- plt.plot(x,np.sin(x)) #在子图ax2 中绘制函数 sin(x)
- plt.show() #展示所有图表
(6)在一张表中画多个曲线
- import numpy as np
- import matplotlib.pylab as plt
- x = np.linspace(-np.pi*2,np.pi*2,100) #定义域为: -2pi 到 2pi
- plt.figure(1,dpi=50) #创建图表1
- for i in range(1,5): #画四条线
- plt.plot(x,np.sin(x/i))
- plt.show()
2.直方图
使用 hist()函数:
- import numpy as np
- import matplotlib.pyplot as plt
- plt.figure(1,dpi=50) # 创建图表1
- data = [1,1,1,2,2,2,3,3,4,5,5,6,4]
- plt.hist(data) #只要传入数据,直方图就会统计数据出现的次数
- plt.show()
3.散点图
散点图用 scatter(x,y) 绘制,x参数传入x轴的坐标,y参数传入 y 轴坐标
- import numpy as np
- import matplotlib.pyplot as plt
- #产生测试数据
- x = np.arange(1,10)
- y = x
- fig = plt.figure()
- plt.scatter(x,y,c = 'r',marker = 'o') #c = 'r'表示散点的颜色为红色,marker 表示指定三点多形状为圆形
- #显示所画的图
- plt.show()
4.饼图
通过 pie()函数
- import numpy as np
- import matplotlib.pyplot as plt
- data = [100,500,300] #饼图中的数据
- fig = plt.figure(dpi=80)
- plt.pie(data, # 每个饼块的实际数据,如果大于1,会进行归一化,计算percentage
- explode=[0.0,0.0,0.1], # 每个饼块离中心的距离
- colors=['y','r','g'], # 每个饼块的颜色,黄红绿
- labels=['A part','B part','C part'], # 每个饼块的标签
- labeldistance=1.2, # 每个饼块标签到中心的距离
- autopct='%1.1f%%', # 百分比的显示格式
- pctdistance=0.4, # 百分比到中心的距离
- shadow=True, # 每个饼块是否显示阴影
- startangle=0, # 默认从x轴正半轴逆时针起
- radius=1 # 饼块的半径
- )
- plt.show()
5.图表的注释与标识
- import numpy as np
- import matplotlib.pyplot as plt
- fig = plt.figure(dpi=80)
- x = np.linspace(0,10,100)
- plt.plot(x,np.sin(x),label="sin(x)") #先设置一个label用于显示图例
- plt.xlabel("X axe") #设置X轴的文字
- plt.ylabel("Y axe") #设置Y轴的文字
- plt.title("sin(x) function") #设置图的标题
- plt.legend() #显示图例。
- plt.show()
6.加载txt文件并绘图
使用: numpy的 loadtxt()函数
- import numpy as np
- import matplotlib.pyplot as plt
- data = np.loadtxt('1.txt',delimiter=',') #加载数据文件1.txt,数据间的分隔符为逗号','
- plt.plot(data[:,0],data[:,1],'ro') #ro表示每个数据在图表上打印的是红色的圆点
- plt.show()
附上1.txt文件:
- 0,0
- 1,1
- 2,4
- 3,9
- 4,16
- 5,25
- 6,36
- 7,49
- 8,64
- 9,81
- 0,0
- 1,1
- 2,4
- 3,9
- 4,16
- 5,25
- 6,36
- 7,49
- 8,64
- 9,81
- 0,0
参考资料:http://blog.csdn.net/u014453898/article/details/73395522