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

【Python学习记录】matplotlib绘图基本配置

✨ 博客主页:小小马车夫的主页
✨ 所属专栏:Python学习记录

请添加图片描述

文章目录

  • 前言
  • 1、设置颜色
  • 2、设置每个点marker
  • 3、设置标题、X轴、Y轴文字
  • 4、设置刻度
  • 5、同一图中画多条线、绘制图例
  • 6、设置图层顺序
  • 7、多个图的设置subplot
  • 8、保存图片
  • 总结


前言

matplotlib是python中绘图的一个库,它的数据可视化的功能十分强大,在机器学习中用的非常普遍,本文就对matplotlib绘图的基本配置作一个系统介绍。
首先,在作基本介绍之前,先看一下简单的例子,作为后续介绍的前导:

import nummpy as np
import matplotlib.pyplot as plt
X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)
plt.plot(X, Y)

以下是绘图的效果:
matplotlib

1、设置颜色

plt.plot(X, Y, 'r')

说明:
r 参数, 是指颜色, 是红色red的缩写

以下是效果
matplotlib

plt.plot(X, Y, 'r-')

说明:
r- 线型为虚线

matplotllib

plt.plot(X, Y, 'r-:') 

说明:
r-: 线型为点虚线

matplotlib

能用的用法

plt.plot(X, Y, color='lime', linestyle='-')

说明:
color颜色
linestyle线型

2、设置每个点marker

plt.plot(X, Y, color='lime', linestyle='-', linewidth=2, \
        marker='v', markerfacecolor='red', markeredgecolor='orange',\
        markersize=6, markeredgewidth=2)

说明:
color 线条颜色
linestyle线条类型
linewidth线条宽度
marker 每个点形状
markerfacecolor每个点的颜色
markeredgecolor第个点边缘的颜色
markersize每个点的大小
markeredgewidth 每个点边框宽度

matplotlib

3、设置标题、X轴、Y轴文字

plt.plot(X, Y, color='lime', linestyle='', linewidth=2, \
        marker='v', markerfacecolor='red', markeredgecolor='orange',\
        markersize=6, markeredgewidth=2)
aix = plt.gca()
aix.set_title('Title', fontname='Arial', fontsize=16, weight='bold', color='red', style='italic')
aix.set_ylabel('Y Label', fontsize=12)
aix.set_xlabel('X Label', fontsize=12)

说明:
plt.gca 获取图表对象
set_title 设置主标题
set_ylabel 设置Y坐标标题
set_xlabel 设置X坐标标题

matplotlib

4、设置刻度

设置刻度要显示点

aix.set_xticks([0, 2, 5, 7, 11])

matplotlib

设置刻度指定点的标签

aix.set_xticklabels(['A', 'B', 'C', 'D', 'E'])

matplotlib

设置刻度线

aix.tick_params(axis='x', direction='out', color='blue', \
               length=10, width=1)
aix.tick_params(axis='y', direction='in', color='red', \
               length=10, width=2)

说明:
tick_params 设置刻度线
axis 取3个值:x y both, 分别代表x坐标,y坐标和xy坐标一起设置
direction 刻度线朝向,out 朝向坐标系外边,in朝向坐标系里边
color 刻度线的颜色
length 刻度线的长度
width 刻度线的宽度

matplotlib

5、同一图中画多条线、绘制图例

plt.plot(X, Y, color='lime', linestyle='', linewidth=2, \
        marker='v', markerfacecolor='red', markeredgecolor='orange',\
        markersize=6, markeredgewidth=2, label='sin1')
plt.plot(X+2, Y, label='sin2')
plt.legend(loc='best')

说明:
上述代码分别画了两条线,会显示一张图中。
label 线条的标签
legend 设置图例, loc为图例的位置

matplotlib
修改一下图例的位置

plt.legend(loc='lower left')

matplotlib

6、设置图层顺序

plt.plot(X, Y, color='lime', linestyle='', linewidth=2, \
        marker='v', markerfacecolor='red', markeredgecolor='orange',\
        markersize=6, markeredgewidth=2, label='sin1', zorder=2)
plt.plot(X+2, Y, label='sin2', zorder=1)

说明:
zorder图层顺序编号,值越小越靠上。

matplotlib

7、多个图的设置subplot

多个图显示同一个画面中,可用如下方法:

fig, ax = plt.subplots(2, 1)
ax[0].plot(X, Y, linewidth=5)
ax[1].plot(X+2, Y, linewidth=5, color='r')

说明:
subplots 创建一个包含2行1列的画布

matplotlib

8、保存图片

plt.figure(figsize=(8, 5))
plt.plot(X, Y, color='lime', linestyle='', linewidth=2, \
        marker='v', markerfacecolor='red', markeredgecolor='orange',\
        markersize=6, markeredgewidth=2, label='sin1', zorder=2)
aix = plt.gca()
aix.set_title('Title', fontname='Arial', fontsize=16, weight='bold', color='red', style='italic')
aix.set_ylabel('Y Label', fontsize=12)
aix.set_xlabel('X Label', fontsize=12)
aix.set_xticks([0, 2, 5, 7, 11])

aix.tick_params(axis='x', direction='out', color='blue', \
               length=10, width=1)
aix.tick_params(axis='y', direction='in', color='red', \
               length=10, width=2)

plt.plot(X+2, Y, label='sin2', zorder=1)
plt.legend(loc='lower left')
plt.savefig('1.png')

matplotlib

总结

以上就本文的所有内容了,简单总结一下吧。
主要介绍了matplotlib库绘图的基本设置,主要有颜色设置、点设置、标题设置、刻度设置、多个线条一个图、多个图一个画布以及保存图片等。


如果觉得有些帮助或觉得文章还不错,请关注一下博主,你的关注是我持续写作的动力。另外,如果有什么问题,可以在评论区留言,或者私信博主,博主看到后会第一时间进行回复。
【间歇性的努力和蒙混过日子,都是对之前努力的清零】
欢迎转载,转载请注明出处:https://blog.csdn.net/xxm524/article/details/128274894

相关文章:

  • java语言的resource 接口
  • 【C语言进阶】想用好C++?那就一定要掌握动态内存管理
  • 【Maven基础】单一架构案例(三)
  • Nacos 寻址机制
  • Python绘制地磁场
  • Android -- 每日一问:介绍一下你经常浏览的 Android 技术网站
  • 2023跨年代码(烟花+自定义文字+背景音乐+雪花+倒计时)
  • Linux 命令(235)—— mktemp 命令
  • You are not allowed to create a user with GRANT
  • 分布式系列之聊聊Nginx实现原理
  • RabbitMQ:基本消息模型
  • 双软认证”包含的具体内容
  • 软件测试 -- 进阶 8 软件测试流程和过程
  • 基于历史对比学习的时序知识图谱推理
  • 基于CNN的MINIST手写数字识别项目代码以及原理详解
  • Android 控件背景颜色处理
  • download使用浅析
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Java的Interrupt与线程中断
  • mysql中InnoDB引擎中页的概念
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • python学习笔记 - ThreadLocal
  • React16时代,该用什么姿势写 React ?
  • Terraform入门 - 1. 安装Terraform
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 浮动相关
  • 微服务核心架构梳理
  • 用 Swift 编写面向协议的视图
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 积累各种好的链接
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • $L^p$ 调和函数恒为零
  • (k8s中)docker netty OOM问题记录
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)Windows2003安全设置/维护
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net 按比例显示图片的缩略图
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET中使用Protobuffer 实现序列化和反序列化
  • ?
  • [ linux ] linux 命令英文全称及解释
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [APUE]进程关系(下)