当前位置: 首页 > news >正文

matplotlib学习

开始学习Python数据可视化

一.基础绘图函数

1.创建画布与坐标轴
import matplotlib.pyplot as plt

# 创建画布和坐标轴
fig, ax = plt.subplots()  # 默认1行1列,返回Figure对象和Axes对象
2.绘制线图
x = [1, 2, 3, 4]
y = [10, 20, 15, 25]

# 绘制线图
ax.plot(x, y, color='red', linestyle='--', marker='o', label='Line 1')
3. 绘制散点图
ax.scatter(x, y, color='blue', marker='^', label='Scatter')

4. 绘制柱状图

categories = ['A', 'B', 'C', 'D']
values = [30, 45, 15, 60]

ax.bar(categories, values, color='green', alpha=0.6, label='Bar')

二、图表装饰函数

1. 标题与标签
ax.set_title("My Plot")          # 标题
ax.set_xlabel("X Axis")          # X轴标签
ax.set_ylabel("Y Axis")          # Y轴标签
2. 图例与网格
ax.legend()                      # 显示图例
ax.grid(True, linestyle=':')     # 显示虚线网格
3. 坐标轴范围与刻度
ax.set_xlim(0, 5)                # X轴范围
ax.set_ylim(0, 70)               # Y轴范围
ax.set_xticks([0, 2, 4])         # 设置X轴刻度
ax.set_xticklabels(['Start', 'Mid', 'End'])  # 自定义刻度标签

三、多图与子图

1. 多子图布局
fig, axes = plt.subplots(2, 2)  # 创建2行2列的子图
axes[0, 0].plot(x, y)           # 在第一个子图绘制
axes[1, 1].scatter(x, y)        # 在右下角子图绘制
2. 调整布局
plt.tight_layout()  # 自动调整子图间距

四、保存与显示图像

1. 保存图像
plt.savefig('plot.png', dpi=300, bbox_inches='tight')  # 保存为PNG

2. 显示图像

plt.show()  # 显示所有已绘制的图形

五、常用样式设置

1. 全局样式
plt.style.use('ggplot')  # 使用预定义样式(如 'ggplot', 'seaborn')
2. 文本标注
ax.text(2, 50, 'Peak', fontsize=12, color='purple')  # 在坐标(2,50)添加文本

例子

import matplotlib.pyplot as plt

# 创建画布和坐标轴
fig, ax = plt.subplots(figsize=(8, 5))

# 绘制线图
x = [1, 2, 3, 4]
y = [10, 20, 15, 25]
ax.plot(x, y, 'r--o', label='Sales')

# 装饰图表
ax.set_title("Sales Report")
ax.set_xlabel("Quarter")
ax.set_ylabel("Revenue (k)")
ax.legend()
ax.grid(True)

# 显示图像
plt.show()

http://www.dtcms.com/a/96690.html

相关文章:

  • MySQL INSERT 语句:当记录不存在时插入
  • Centos7 安装 TDengine
  • springMVC中转发和重定向的简介及写法
  • TextGrad:案例
  • 生成信息提取的大型语言模型综述
  • Java异常架构
  • 音频知识 参数分析
  • 决策树算法详解:从西瓜分类到实战应用
  • 第一天学习 TypeScript :从零基础到环境搭建与基础语法实践
  • 2025 年吉林省燃气企业从业人员考试:实用备考攻略与考试提分要点​
  • ai画图comfyUI 精准定位gligen。允许指定图像中多个对象的位置和大小
  • 近场探头的选型
  • cnas实验室认证是什么?cnas认证有什么意义?对企业发展的好处
  • 详解c++中万能引用、完美转发、类型推导
  • ubuntu24.04.2 NVIDIA GeForce RTX 4060笔记本安装驱动
  • TCP 的 time_wait 有什么作用
  • Zookeeper特性与节点数据类型
  • 【模板】最小生成树
  • docker-Dify外接Fastgpt知识库
  • img 的 onerror属性
  • 实战打靶集锦-33-Bottleneck
  • CD19.【C++ Dev】类和对象(10) 日期类对象的成员函数(日期+天数)
  • django orm的优缺点
  • 数据结构与算法——顺序表的实现以及增、插、删、查、印、毁
  • MySQL-- 多表查询的分类,SQL92与SQL99,7种JOIN的实现,SQL99语法的新特性
  • Postman 全局 Header 如何设置?全局设置了解一下
  • 接口用例设计原则
  • 旋转变换原理
  • 养老更安心!智绅科技“智慧”养老系统,智在何处?
  • A SAM-guided Two-stream Lightweight Model for AnomalyDetection