matplotlib是python第三⽅库吗_Python第三⽅库
matplotlib(2。。。
Matplotlib
⼀ 简介:
Matplotlib是⼀个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境⽣成出具有出版品质的图形。 Matplotlib可⽤于Python脚本,Python和IPython shell,Jupyter笔记本,Web应⽤程序服务器和四个图形⽤户界⾯⼯具包
Matplotlib试图让简单的事情变得更简单,让⽆法实现的事情变得可能实现。 只需⼏⾏代码即可⽣成绘图,直⽅图,功率谱,条形图,错误图,散点图等。 有关⽰例,请参阅⽰例图和缩略图库。
为了简单绘图,pyplot模块提供了类似于MATLAB的界⾯,特别是与IPython结合使⽤时。 对于⾼级⽤户,您可以通过⾯向对象的界⾯或MATLAB⽤户熟悉的⼀组函数完全控制线条样式,字体属性,轴属性等。
⼆ 相关⽂档:
三 ⼊门与进阶案例
1- 简单图形绘制
根据坐标点绘制:
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1,2,3,4,5,6,7,8])
y = np.array([3,5,7,6,2,6,10,15])
plt.plot(x,y,'r')# 折线 1 x 2 y 3 color
plt.plot(x,y,'g',lw=10)# 4 line w
# 折线 饼状 柱状
x = np.array([1,2,3,4,5,6,7,8])
y = np.array([13,25,17,36,21,16,10,15])
plt.bar(x,y,0.2,alpha=1,color='b')# 5 color 4 透明度 3 0.9
plt.show()
传⼊参数是numpy数组时的效果:
import numpy as np
import matplotlib.pyplot as plt
for i in range(0,15):
# 1 柱状图
dateOne = np.zeros([2])
dateOne[0] = i;
dateOne[1] = i;
y = np.zeros([2])
y[1] = 20
plt.plot(dateOne,y,'r',lw=8)
plt.show()
根据函数图像绘制:
# -*- coding: utf-8 -*-
"""
简单图形绘制
"""
import matplotlib.pyplot as plt
import numpy as np
#从-1-----1之间等间隔采66个数.也就是说所画出来的图形是66个点连接得来的#注意:如果点数过⼩的话会导致画出来⼆次函数图像不平滑
x = np.linspace(-1, 1,66)
# 绘制y=2x+1函数的图像
y = 2 * x + 1
plt.plot(x, y)
plt.show()
# 绘制x^2函数的图像
y = x**2
plt.plot(x, y)
plt.show()
2- figure的简单使⽤
# -*- coding: utf-8 -*-
"""
figure的使⽤
"""
import matplotlib.pyplot as plt
import numpy as np
#
x = np.linspace(-1, 1, 50)
# figure 1
y1 = 2 * x + 1
plt.plot(x, y1)
# figure 2
y2 = x**2
plt.figure()
plt.plot(x, y2)
# figure 3,指定figure的编号并指定figure的⼤⼩, 指定线的颜⾊, 宽度和类型
#⼀个坐标轴上画了两个图形
y2 = x**2
plt.figure(num = 5, figsize = (4, 4))
plt.plot(x, y1)
plt.plot(x, y2, color = 'red', linewidth = 1.0, linestyle = '--')
plt.show()
⼀共会画出三张图,前两张和上⾯的简单案例画出来的两张⼀样。第三张:
3- 设置坐标轴
# -*- coding: utf-8 -*-
"""
设置坐标轴
"""
import matplotlib.pyplot as plt
import numpy as np
# 绘制普通图像
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x**2
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color = 'red', linewidth = 1.0, linestyle = '--')
# 设置坐标轴的取值范围
plt.xlim((-1, 1))
plt.ylim((0, 3))
# 设置坐标轴的lable
#标签⾥⾯必须添加字体变量:fontproperties='SimHei',fontsize=14。不然可能会乱码plt.xlabel(u'这是x轴',fontproperties='SimHei',fontsize=14)
plt.ylabel(u'这是y轴',fontproperties='SimHei',fontsize=14)
# 设置x坐标轴刻度, 之前为0.25, 修改后为0.5
#也就是在坐标轴上取5个点,x轴的范围为-1到1所以取5个点之后刻度就变为0.5了icks(np.linspace(-1, 1, 5))
plt.show()
上⾯代码的基础上加上下⾯代码(直接加载最后⼀句代码前⾯即可):
# 获取当前的坐标轴, gca = get current axis
ax = a()
# 设置右边框和上边框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 设置x坐标轴为下边框
ax.xaxis.set_ticks_position('bottom')
# 设置y坐标轴为左边框
ax.yaxis.set_ticks_position('left')
# 设置x轴, y周在(0, 0)的位置
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
如果在上⾯代码的最后⼀句之前加上下⾯的代码:
# 设置坐标轴label的⼤⼩,背景⾊等信息
for label _xticklabels() + ax.get_yticklabels():
label.set_fontsize(12)
label.set_bbox(dict(facecolor = 'green', edgecolor = 'None', alpha = 0.7))
4- 设置legend图例
# -*- coding: utf-8 -*-
"""
设置坐标轴
"""
import matplotlib.pyplot as plt
linspace numpyimport numpy as np
# 绘制普通图像
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x**2
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color = 'red', linewidth = 1.0, linestyle = '--')
# 设置坐标轴的取值范围
plt.xlim((-1, 1))
plt.ylim((0, 3))
# 设置坐标轴的lable
#标签⾥⾯必须添加字体变量:fontproperties='SimHei',fontsize=14。不然可能会乱码plt.xlabel(u'这是x轴',fontproperties='SimHei',fontsize=14)
plt.ylabel(u'这是y轴',fontproperties='SimHei',fontsize=14)
# 设置x坐标轴刻度, 之前为0.25, 修改后为0.5
#也就是在坐标轴上取5个点,x轴的范围为-1到1所以取5个点之后刻度就变为0.5了
# 获取当前的坐标轴, gca = get current axis
ax = a()
# 设置右边框和上边框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 设置x坐标轴为下边框
ax.xaxis.set_ticks_position('bottom')
# 设置y坐标轴为左边框
ax.yaxis.set_ticks_position('left')
# 设置x轴, y周在(0, 0)的位置
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
plt.show()
5- 添加注解和绘制点以及在图形上绘制线或点
# -*- coding: utf-8 -*-
"""
添加注解和绘制点以及在图形上绘制线或点
"""
import matplotlib.pyplot as plt
import numpy as np

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。