matplotlib 的几种风格 练习

简介: 〇、准备数据import numpy as npx = np.linspace(0, 5, 10)y = x ** 2一、matlab风格的API1.单图from pylab import *figure()plot(x, y, 'r')xlabel('x')ylabel('y')title('title')show()2.

〇、准备数据

import numpy as np

x = np.linspace(0, 5, 10)
y = x ** 2

一、matlab风格的API

1.单图
from pylab import *

figure()
plot(x, y, 'r')
xlabel('x')
ylabel('y')
title('title')
show()
2.多子图
subplot(1,2,1)
plot(x, y, 'r--')
subplot(1,2,2)
plot(y, x, 'g*-');

二、matplotlib面向对象风格的API:

1.两步走:先创建figure实例、接着创建axes实例

a.单图
fig = plt.figure()

# 不关心位置
axes = fig.add_subplot(1, 1, 1)

# 关心位置
axes = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # left, bottom, width, height (range 0 to 1)

axes.plot(x, y, 'r')

axes.set_xlabel('x')
axes.set_ylabel('y')
axes.set_title('title');
b.多子图
fig = plt.figure()

# 不关心位置
axes1 = fig.add_subplot(2, 1, 1)
axes2 = fig.add_subplot(2, 1, 2)

# 关心位置
axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # main axes
axes2 = fig.add_axes([0.2, 0.5, 0.4, 0.3]) # inset axes

# main figure
axes1.plot(x, y, 'r')
axes1.set_xlabel('x')
axes1.set_ylabel('y')
axes1.set_title('title')

# insert
axes2.plot(y, x, 'g')
axes2.set_xlabel('y')
axes2.set_ylabel('x')
axes2.set_title('insert title')

2.一步走:同时创建figure、axes实例

a.单图(不关心位置)
fig, axes = plt.subplots()

axes.plot(x, y, 'r')
axes.set_xlabel('x')
axes.set_ylabel('y')
axes.set_title('title')
b.多子图(不关心位置)

1)单行,或者单列

fig, axes = plt.subplots(nrows=1, ncols=2)

for ax in axes:
    ax.plot(x, y, 'r')
    ax.set_xlabel('x')
    ax.set_ylabel('y')
    ax.set_title('title')

2)多行多列

fig, axes = plt.subplots(nrows=3, ncols=2, sharex=True)

# 此处不能用 for ax in axes:
for i in range(6):
    axes[i//2, i%2].plot(x, y, 'r')
    axes[i//2, i%2].set_xlabel('x')
    axes[i//2, i%2].set_ylabel('y')
    axes[i//2, i%2].set_title('title')
目录
相关文章
|
6月前
|
缓存 Windows
电脑小白必看:C 盘满了怎么清理?软件搬到 D 盘的超简单步骤
C盘空间不足导致电脑卡顿?试试这些方法优化!首推FreeMove工具,不到1MB,简单两步搬软件,解放C盘空间。此外,清理临时文件、转移用户文件夹至D盘、调整虚拟内存位置、使用符号链接等技巧也能有效缓解压力。注意:系统核心目录不可移动,操作前请备份重要数据,确保安全!
541 5
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
2024年,AI大模型在软件开发领域的应用正重塑传统流程,从自动化编码、智能协作到代码审查和测试,显著提升了开发效率和代码质量。然而,技术挑战、伦理安全及模型可解释性等问题仍需解决。未来,AI将继续推动软件开发向更高效、智能化方向发展。
|
9月前
|
弹性计算 运维 监控
基于进程热点分析与系统资源优化的智能运维实践
智能服务器管理平台提供直观的可视化界面,助力高效操作系统管理。核心功能包括运维监控、智能助手和扩展插件管理,支持系统健康监控、故障诊断等,确保集群稳定运行。首次使用需激活服务并安装管控组件。平台还提供进程热点追踪、性能观测与优化建议,帮助开发人员快速识别和解决性能瓶颈。定期分析和多维度监控可提前预警潜在问题,保障系统长期稳定运行。
367 17
|
11月前
|
人工智能 算法 机器人
专访汶生|或许你没有听过具身智能实训,但是已经有人这样做了
汶生在2023年底创办TsingtaoAI公司之前,就已经深入具身智能高校实训领域和AI人才培养方面。最近一年,汶生带领核心技术团队完成了具身智能高校实训解决方案、AI Agent应用开发实训解决方案和华为昇腾910B算力卡的大模型部署和调优实训方案。这些方案赋能与高校CS/AI专业的实训和企业IT/AI员工的内训,通过前沿技术和实训解决方案的结合,让学习者可以迅速掌握AI/具身智能/智算行业的核心和前沿技术。
250 10
|
10月前
|
人工智能 自然语言处理 测试技术
阿里云通义实验室自然语言处理方向负责人黄非:通义灵码2.0,迈入 Agentic AI
阿里云通义实验室自然语言处理方向负责人黄非:通义灵码2.0,迈入 Agentic AI
|
运维 测试技术
通义灵码测评
作为一名运维人员,通过使用通义灵码进行业务、功能及环境测试,显著提高了工作效率。以前需自行查找或编写代码,不仅速度慢且易出错。通义灵码能够快速响应需求,即时生成所需代码,大幅减少错误和修改时间,优化了工作流程。
171 1
|
人工智能 Linux iOS开发
操作系统的演变:从批处理系统到现代操作系统
【10月更文挑战第27天】 本文回顾了操作系统的历史,从最早的批处理系统到现代的多任务、多用户操作系统。我们将探讨操作系统的核心概念,包括进程管理、内存管理、文件系统和设备驱动等。我们还将介绍一些著名的操作系统,如Windows、Linux和macOS,并讨论它们的特点和优势。最后,我们将展望操作系统的未来发展趋势。
392 0
|
虚拟化 数据安全/隐私保护 域名解析