matplot绘图
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,MatplotlibMatplotlib 是一个 Python 的 2D绘图库,通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。http
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
查车软件开发
网络安全华为网络安全
山西常见软件开发收购价格
ddr2 服务器内存
数据库第页共页
时间序列数据库技术
网络技术最新研究
网络安全员学什么
如何将图片添加进数据库中
数据库deletefrom
行踪分析的数据库
按行业划分网络安全事件占比统计
数据库ap方向
图书数据库采购
网约车平台数据库接入
服务器中毒被加密怎么破解
广东网络安全知识点
广东大数据软件开发费用是多少
什么是数据库模型的型
软件开发中产生的主要文档
服务器 GPU 有啥用
倩女幽魂手游陌上人归服务器
环境系统与数据库技术论文
网络安全法信道
上海服务器托管功率
iphone数据库构建
千锋网络安全300集全套视频
电脑软件开发哪里有
网络安全面临的问题和威胁
开办网络安全培训的目标