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

机器学习基础-matplotlib

一、相关知识点

二、plot

from pylab import mpl
# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False
#%%#%%
import matplotlib.pyplot as plt
import random# 画出温度的变化图# 1. 准备x y坐标的数据
x = range(60)
y_shanghai = [random.uniform(13, 15) for i in x]  # 上海温度
y_beijing = [random.uniform(1, 6) for j in x]  # 北京温度
# random.uniform(15,18) 这个函数返回的是15,18之间的随机浮点数
# 利用了列表推导式# 1. 创建画布
plt.figure(figsize=(20,10),dpi=90)# 2.绘制折线图
plt.plot(x,y_shanghai,color="b",linestyle= "--",label="上海")
plt.plot(x,y_beijing,color="r",linestyle="--",label="北京") #linestyle="--" 虚线
# 增加以下代码 增加刻度
# 构造x轴的刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
# 修改x轴的刻度、标签
plt.xticks(x[::5],x_ticks_label[::5],rotation=45)
# 修改y轴的刻度
y_ticks = range(40)
plt.yticks(y_ticks[::5])plt.xlabel("时间",fontsize = 30)
plt.ylabel("温度",fontsize = 30)plt.grid(True, linestyle='--', alpha=0.3, color='gray')  # 使用灰色网格# 保存图片到指定路径
plt.savefig("test.png")
plt.legend(loc="best")plt.tight_layout()
#3. 图像显示
plt.show()

三、subplot

import numpy as np
import matplotlib.pyplot as plt
import random# 图像风格模仿ggplot
plt.style.use('ggplot')import matplotlib
plt.rcParams['font.sans-serif'] = ['KaiTi']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题
#%%# 图像风格模仿ggplot
plt.style.use('ggplot')# 生成数据
x = np.linspace(0,59,60)
y_shanghai = [random.uniform(13, 15) for i in x]  # 上海温度
y_beijing = [random.uniform(1, 6) for j in x]  # 北京温度#%%# 创建一个画布和两个子图
fig, axes = plt.subplots(2, 1, figsize=(10, 7), sharex=True)
axes = axes.flatten()# 定义x_ticks_label,y_ticks
x_ticks_label = ["11点{}分".format(i) for i in x]y_ticks = range(20)
# 绘制上海温度折线图
axes[0].plot(x, y_shanghai, c='r', label='上海',marker='o', linestyle='--')
# 绘制北京温度折线图
axes[1].plot(x, y_beijing, c='b', label='北京',marker='^', linestyle='-')
for ax in axes:print(ax)ax.set_ylabel("温度", fontsize=12)ax.grid(True, linestyle='--', alpha=0.3, color='gray')  # 使用灰色网格# 注意刻度和刻度标签是不一样的ax.set_xticks(x[::5])  # 每隔5分钟显示一个刻度ax.set_xticklabels(x_ticks_label[::5], rotation=40)  # 设置x轴刻度标签ax.set_yticks(y_ticks[::5])ax.set_xlabel("日期",fontsize=12)# 添加图例ax.legend(loc='upper right')  # 第一个坐标轴的图例axes[0].tick_params(axis='y', labelcolor='r')  # 设置第一个坐标轴的y轴刻度颜色
axes[0].set_ylabel('温度 (上海)', color='r')  # 第一个坐标轴的y轴标签axes[1].tick_params(axis='y', labelcolor='b')  # 设置第二个坐标轴的y轴刻度颜色
axes[1].set_ylabel('温度 (北京)', color='b')  # 第二个坐标轴的y轴标签# 标题
plt.suptitle('中午11点0分到12点之间的温度变化图', fontsize=16)plt.show()

http://www.xdnf.cn/news/16410.html

相关文章:

  • linux系统----Ansible中的playbook简单应用
  • 计算机视觉---Halcon概览
  • 【算法训练营Day17】二叉树part7
  • 【学习路线】Android开发2025:从入门到高级架构师
  • linux命令grep的实际应用
  • MySQL 与 PostgreSQL 对比
  • Redis四种GetShell方式完整教程
  • 【WRF-Chem第二期】WRF-Chem有关 namelist 详解
  • 1.DRF 环境安装与配置
  • 零基础学习性能测试第九章:全链路追踪-系统中间件节点监控
  • LeetCode 刷题【18. 四数之和】
  • 计算机网络编程-Socket通信以及实战
  • 企业级JWT验证最佳方案:StringUtils.hasText()
  • 使用Ettus USRP X440对雷达和EW系统进行原型验证
  • 分布式IO选型指南:2025年分布式无线远程IO品牌及采集控制方案详解
  • Python动态规划:从基础到高阶优化的全面指南(2)
  • socketpair函数详解
  • Qt小组件 - 8 图片浏览器
  • go‑cdc‑chunkers:用 CDC 实现智能分块 强力去重
  • SpringBoot轻松集成豆包AI
  • 精简 RT-Thread 工程并查找占用空间大的模块
  • 中国汽车能源消耗量(2010-2024年)
  • java里List链式编程
  • 【智慧物联网平台】安装部署教程——仙盟创梦IDE
  • Jenkins流水线部署+webhook2.0
  • 四、计算机组成原理——第7章:输入/输出系统
  • 命令执行漏洞
  • EAP(基于事件的异步编程模式)
  • 思途SQL学习 0728
  • SIM2REAL记录