如何使用Python脚本语言的绘图库Matplotlib
2023年01月20日 11:24:13
来源:云南昌晖仪表制造有限公司 >> 进入该公司展台
阅读量:14
本文介绍Python计算机程序设计脚本语言中一个重要的绘图库Matplotlib,它可以生成各种硬拷贝格式和跨平台交互式环境的出版物质量数据。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本等。
对于简单的绘图,pyplot模块提供类似MATLAB的接口,特别是与IPython结合使用时。对于高级用户,你可以通过面向对象的界面或通过MATLAB用户熟悉的一组函数控制线型,字体属性,轴属性等。如下图,你可以自由绘制常见图形,3D图形等。

关于Matplotlib如何安装可以自行搜索,昌晖仪表建议初学者安装Anaconda软件,Anaconda 是一个用于科学计算的Python发行版,支持Linux,Mac,Windows,包含了众多流行的科学计算、数据分析的Python包。可以登录获取软件。根据自己的操作系统选择对应的软件,Python版本选择3.7。
软件的具体安装方法不再累述,安装完成后,打开Anaconda Navigator后如下图显示。
我们的编程测试环境将使用Jupyter Notebook,点击“Launch”登录后将如下图显示
建立一个项目文件夹,然后新建一个Python 3的项目,我们就可以愉快的编程了。
案例1:绘制一条线import matplotlib.pyplot as plt #导入pyplotimport numpy as np #导入numpy# np.linspace为numpy的等差数列函数,形成一个0到100之间,共50个元素的函数x=np.linspace(0,100,50)y=2*x+1 #赋值运算#最重要的一步,plot用于绘制线条或标记的轴,可以线性,颜色等plt.plot(x,y) #默认直接绘制plt.show()
案例2:绘制一条特殊的线import matplotlib.pyplot as pltimport numpy as npx=np.linspace(0,100,20)#print (x)y=2*x+1#与案例1中不同的是增加很多参数,如color(颜色), linewidth(线宽), linestyle(线性), marker(标记)plt.plot(x,y,color='red',linewidth=1.0,linestyle='-',marker='o')plt.show()
案例3:绘制饼图
import matplotlib.pyplot as pltlabels='Frogs', 'Hogs', 'Dogs', 'Logs' #定义标签sizes=[15, 30, 45, 10] #定义饼图的大小explode=(0, 0.1, 0, 0) #定义切片fig1, ax1 = plt.subplots() #导入饼图#定义饼图的样式,此示例将 startangle设置为90 ,以便将所有对象逆时针旋转90度,定义了数#据显示格式以小数显示,带阴影ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)ax1.axis('equal') # 等纵横比可确保将饼图绘制为圆。.plt.show()
案例4:绘制3D图import matplotlib.pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3D #导入3D图库fig = plt.figure(figsize=(12, 8)) #figure的大小ax = Axes3D(fig)# 生成X,YX = np.arange(-4, 4, 0.25)Y = np.arange(-4, 4, 0.25)X,Y = np.meshgrid(X, Y)R = np.sqrt(X**2 + Y**2) # height valueZ = np.sin(R)# 绘图# rstride(row)和cstride(column)表示的是行列的跨度ax.plot_surface(X, Y, Z, rstride=1, # 行的跨度 cstride=1, # 列的跨度 cmap=plt.get_cmap('rainbow') # 颜色映射样式设置 )# offset 表示距离zdir的轴距离ax.contourf(X, Y, Z, zdir='z', offest=-2, cmap='rainbow')ax.set_zlim(-2, 2)plt.show()
以上代码已测试通过,感兴趣的朋友可以进行测试。更多Matplotlib的应用可以参考详细资料介绍。
作者:老罗,具有10年工业自动化领域的SCADA、DCS、PLC等项目实施经验,熟悉石化行业、油田数字化行业,熟悉多个品牌PLC、、SCADA、数据库等。
版权与免责声明:
1.凡本网注明"来源:欧亚贸易网"的所有作品,版权均属于兴旺宝装备总站,转载请必须注明兴旺宝装备总站。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。