matplot绘图
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,MatplotlibMatplotlib 是一个 Python 的 2D绘图库,通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。http
千家信息网最后更新 2025年01月23日matplot绘图
Matplotlib
Matplotlib 是一个 Python 的 2D绘图库,通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
http://matplotlib.org
- 用于创建出版质量图表的绘图工具库
- 目的是为Python构建一个Matlab式的绘图接口
- import matplotlib.pyplot as plt
- pyplot模块包含了常用的matplotlib API函数
figure
- Matplotlib的图像均位于figure对象中
- 创建figure:fig = plt.figure()
示例代码:
# 引入matplotlib包import matplotlib.pyplot as pltimport numpy as np%matplotlib inline #在jupyter notebook 里需要使用这一句命令# 创建figure对象fig = plt.figure()
运行结果:会弹出一个figure窗口,如下图所示
subplot
fig.add_subplot(a, b, c)
- a,b 表示将fig分割成 a*b 的区域
- c 表示当前选中要操作的区域,
- 注意:从1开始编号(不是从0开始)
- plot 绘图的区域是最后一次指定subplot的位置 (jupyter notebook里不能正确显示)
示例代码:
# 指定切分区域的位置ax1 = fig.add_subplot(2,2,1)ax2 = fig.add_subplot(2,2,2)ax3 = fig.add_subplot(2,2,3)ax4 = fig.add_subplot(2,2,4)# 在subplot上作图random_arr = np.random.randn(100)#print random_arr# 默认是在最后一次使用subplot的位置上作图,但是在jupyter notebook 里可能显示有误plt.plot(random_arr)# 可以指定在某个或多个subplot位置上作图# ax1 = fig.plot(random_arr)# ax2 = fig.plot(random_arr)# ax3 = fig.plot(random_arr)# 显示绘图结果plt.show()
运行结果:仅右下角有图
直方图:hist
示例代码:
import matplotlib.pyplot as pltimport numpy as npplt.hist(np.random.randn(100), bins=10, color='b', alpha=0.3)plt.show()
散点图:scatter
示例代码:
import matplotlib.pyplot as pltimport numpy as np# 绘制散点图x = np.arange(50)y = x + 5 * np.random.rand(50)plt.scatter(x, y)plt.show()
柱状图:bar
示例代码:
import matplotlib.pyplot as pltimport numpy as np# 柱状图x = np.arange(5)y1, y2 = np.random.randint(1, 25, size=(2, 5))width = 0.25ax = plt.subplot(1,1,1)ax.bar(x, y1, width, color='r')ax.bar(x+width, y2, width, color='g')ax.set_xticks(x+width)ax.set_xticklabels(['a', 'b', 'c', 'd', 'e'])plt.show()
矩阵绘图:plt.imshow()
- 混淆矩阵,三个维度的关系
示例代码:
import matplotlib.pyplot as pltimport numpy as np# 矩阵绘图m = np.random.rand(10,10)print(m)plt.imshow(m, interpolation='nearest', cmap=plt.cm.ocean)plt.colorbar()plt.show()
plt.subplots()
- 同时返回新创建的figure和subplot对象数组
- 生成2行2列subplot:fig, subplot_arr = plt.subplots(2,2)
- 在jupyter里可以正常显示,推荐使用这种方式创建多个图表
示例代码:
import matplotlib.pyplot as pltimport numpy as npfig, subplot_arr = plt.subplots(2,2)# bins 为显示个数,一般小于等于数值个数subplot_arr[1,0].hist(np.random.randn(100), bins=10, color='b', alpha=0.3)plt.show()
运行结果:左下角绘图
颜色、标记、线型
- ax.plot(x, y, 'r--')
等价于ax.plot(x, y, linestyle='--', color='r')
示例代码:
import matplotlib.pyplot as pltimport numpy as npfig, axes = plt.subplots(2)axes[0].plot(np.random.randint(0, 100, 50), 'ro--')# 等价axes[1].plot(np.random.randint(0, 100, 50), color='r', linestyle='dashed', marker='o')
- 常用的颜色、标记、线型
颜色
- b: blue
- g: grean
- r: red
- c: cyan
- m: magenta
- y: yellow
- k: black
- w: white
标记
- .: point
- ,: pixel
- o: circle
- v: triangle_down
- ^: triangle_up
- <: tiiangle_left
线型
- '-' or 'solid': solid lint
- '--' or 'dashed': dashed line
- '-.' or 'dashdot': dash-dotted line
- ':' or 'dotted': dotted line
- 'None': draw nothing
- ' ': draw nothing
- '': draw nothing
刻度、标签、图例
设置刻度范围
plt.xlim(), plt.ylim()
ax.set_xlim(), ax.set_ylim()
设置显示的刻度
plt.xticks(), plt.yticks()
ax.set_xticks(), ax.set_yticks()
设置刻度标签
ax.set_xticklabels(), ax.set_yticklabels()
设置坐标轴标签
ax.set_xlabel(), ax.set_ylabel()
设置标题
ax.set_title()
- 图例
ax.plot(label='legend')
ax.legend(), plt.legend()
loc='best':自动选择放置图例最佳位置
示例代码:
import matplotlib.pyplot as pltimport numpy as npfig, ax = plt.subplots(1)ax.plot(np.random.randn(1000).cumsum(), label='line0')# 设置刻度#plt.xlim([0,500])ax.set_xlim([0, 800])# 设置显示的刻度#plt.xticks([0,500])ax.set_xticks(range(0,500,100))# 设置刻度标签ax.set_yticklabels(['Jan', 'Feb', 'Mar'])# 设置坐标轴标签ax.set_xlabel('Number')ax.set_ylabel('Month')# 设置标题ax.set_title('Example')# 图例ax.plot(np.random.randn(1000).cumsum(), label='line1')ax.plot(np.random.randn(1000).cumsum(), label='line2')ax.legend()ax.legend(loc='best')#plt.legend()
代码
绘图
示例
刻度
位置
标签
区域
图例
结果
对象
标记
矩阵
线型
颜色
运行
个数
图表
坐标
坐标轴
多个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小程序php连接数据库
厂家软件开发
三门峡网络技术发展
武汉服务器机柜价格
网络安全法培训的意义
浙江正泰网络技术有限公司电线
我播放网络安全手抄报
外网怎么建立共享服务器
网络安全教育班级感言
阿里云服务器 开发
目前网络安全形势
宁夏知名软件开发商
电力网络安全知识资料
微序互联网络科技有限公司
徐州专业软件开发售后服务
sql数据库定义参数
深圳正规网络技术开发公司
国外服务器上行1G
九江网络安全保障费用多少
数据库应用系统基本概念
履行网络安全监督管理职责
手机游戏服务器截屏
北海职业学院计算机网络技术专业
sql数据库迁移方法
ios软件开发it技术
列举软件开发技术
目前网络安全形势
网络安全大赛ctf
山东农商银行网络安全培训
服务器环境配置教程