前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python之Matplotlib绘图

Python之Matplotlib绘图

作者头像
剑指工控
发布2021-11-09 11:07:45
1.4K0
发布2021-11-09 11:07:45
举报
文章被收录于专栏:剑指工控

Python中一个重要的绘图库Matplotlib,它可以生成各种硬拷贝格式和跨平台交互式环境的出版物质量数据。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本等。

对于简单的绘图,pyplot模块提供类似MATLAB的接口,特别是与IPython结合使用时。对于高级用户,你可以通过面向对象的界面或通过MATLAB用户熟悉的一组函数完全控制线型,字体属性,轴属性等。如下图,你可以自由绘制常见图形,3D图形等。

关于matplotlib如何安装可以自行搜索,个人建议初学者安装Anaconda软件,Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。可以登录官网或者清华大学镜像站下载,也可以到剑指工控QQ群,微信群等获取软件。根据自己的操作系统选择对应的软件,Python版本选择3.7.

软件的具体安装方法不再累述,安装完成后,打开Anaconda Navigator后如下图显示。

我们的编程测试环境将使用Jupyter Notebook,点击“Launch”登录后将如下图显示

建立一个项目文件夹,然后新建一个Python 3的项目,我们就可以愉快的编程了。

案例1:绘制一条线

代码语言:javascript
复制
import matplotlib.pyplot as plt #导入pyplot
import 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:绘制一条特殊的线

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np
x = 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:绘制饼图

代码语言:javascript
复制
import matplotlib.pyplot as plt
labels = '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图

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D #导入3D图库
fig = plt.figure(figsize=(12, 8)) #指定figure的大小
ax = Axes3D(fig)
# 生成X,Y
X = 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 value
Z = 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()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档