【matplotlib学习笔记】 Matplotlib基础知识

目录

模块导入

绘制标题,x,y轴标签,图例显示,颜色设置,线型设置,文字注释,公式注释

网格设置,坐标轴刻度,坐标轴范围

坐标轴标签大小自适应

坐标轴

颜色填充

Matplotlib 图的组成部分

参考

Matplotlib是Python最常用的绘图库,专门用于开发2D图表(包括3D图表)提供了一整套十分适合交互式绘图的命令API,比较方便的就可以将其嵌入到GUI应用程序中。

模块导入

import matplotlib.pyplot as plt
import numpy as np

注:Matplotlib经常和numpy配合使用。

绘制标题,x,y轴标签,图例显示,颜色设置,线型设置,文字注释,公式注释

显示中文
plt.rcParams['font.sans-serif'] = [u'SimHei']
plt.rcParams['axes.unicode_minus'] = False

plt.figure()    # create a new figure
plt.plot([1, 2, 3, 4], [1, 3, 2, 1],color='r')    # 将 x 与 y 绘制为线条或标记,设置颜色
x = np.arange(0,5)
plt.plot(x, 4*x,color='#FF00FF',marker='s')    # 设置颜色 #设置线条样式
plt.text(3.5,12,'y=4x')
plt.plot(x,x*2,color=(0.5,0.8,0.5),marker='o') #设置颜色    # 设置线条样式
plt.text(2,1,"文字示例")    # 加入文字
plt.text(3,7,'y=2x')
plt.plot(x,np.sin(x))   # 正弦函数
plt.text(2,0,'$y=\sin(x)$') # 输入公式 laTex格式

plt.title("测试图像title")   # 标题
plt.xlabel("x轴名称")
plt.ylabel("y轴名称")
plt.legend(['图例1','图例:y=4x','y=x*2'])    # 图例
plt.annotate("这是一个注释",(3,2),xytext=(2,4),arrowprops={'linewidth':3, 'headwidth':3,'facecolor':'r'})

plt.show()  # 显示图像

matplotlib.axes.Axes.plot — Matplotlib 3.5.1 documentation

marker 样式:matplotlib.markers — Matplotlib 3.5.1 documentation

【matplotlib学习笔记】 Matplotlib基础知识

网格设置,坐标轴刻度,坐标轴范围

plt.grid()    # 网格默认设置
plt.grid(color = 'r', linewidth = '0.5', linestyle = '-.')  # 网格 自定义设置
plt.locator_params('both',True,nbins=20)    # 改变坐标轴x和y的刻度(显示密度)
plt.xlim(0,10)  # 调整x坐标轴范围

【matplotlib学习笔记】 Matplotlib基础知识

官方文档:matplotlib.axes.Axes.locator_params — Matplotlib 3.5.1 documentation

坐标轴标签大小自适应

import pandas as pd

x = pd.date_range('2022/04/11', periods=30)    # 生成时间下标,总共为30天,起始2022/04/11
y = np.arange(0, 30, 1)

plt.plot(x, y)
plt.gcf().autofmt_xdate()    # 坐标轴自适应,防止重叠

【matplotlib学习笔记】 Matplotlib基础知识

官方文档:
gpandas.date_range — pandas 1.4.2 documentation (pydata.org)

​​​​​​​双坐标轴

import pandas as pd

x = np.arange(1, 20)
y1 = x*x
y2 = np.log(x)
plt.plot(x, y1)
添加一个坐标轴,默认 0 到 1
plt.twinx() # 生成新的坐标轴
plt.plot(x, y2, 'r')
plt.show()

【matplotlib学习笔记】 Matplotlib基础知识

颜色填充

x = np.linspace(0, 5*np.pi, 1000)
y1 = np.sin(x)
y2 = np.sin(2*x)
plt.plot(x, y1)
plt.plot(x, y2)

填充
plt.fill(x, y1, 'g')
plt.fill(x, y2, 'r')
plt.fill_between(x,y1,y2)

plt.show()

【matplotlib学习笔记】 Matplotlib基础知识

matplotlib.axes.Axes.fill — Matplotlib 3.5.1 documentation

matplotlib.axes.Axes.fill_between — Matplotlib 3.5.1 documentation

matplotlib.axes.Axes.fill_betweenx — Matplotlib 3.5.1 documentation

matplotlib.pyplot — Matplotlib 3.5.1 documentation

import matplotlib.pyplot as plt
plt.style.available

fig,axes = plt.subplots(2, 2)   # 新建子图,共4个,两行两列的排布
ax1, ax2, ax3, ax4 = axes.ravel()

x, y = np.random.normal(size=(2, 100))
ax1.plot(x, y, 'o')

x = np.arange(0, 10)
y = np.arange(0, 10)
colors = plt.rcParams['axes.prop_cycle']
length = np.linspace(0, 10, len(colors))
for s in length:
    ax2.plot(x, y+s, '-')

x = np.arange(5)
y1, y2, y3 = np.random.randint(1, 25, size=(3, 5))  # 身分成随机数
width = 0.25
ax3.bar(x, y1, width)
ax3.bar(x+width, y2, width)
ax3.bar(x+2*width, y3, width)

for i, color in enumerate(colors):
    xy=np.random.normal(size=2) # 高斯分布的随机数
ax4.add_patch(plt.Circle(xy, radius=0.3, color=color['color']))
ax4.axis('equal')

plt.show()

numpy.random.randint()

(30条消息) np.random.randint()的用法_北航_Curry的博客-CSDN博客_np.random.randint()函数

matplotlib.patches.Patch — Matplotlib 3.5.1 documentation

matplotlib — Matplotlib 3.5.1 documentation

【matplotlib学习笔记】 Matplotlib基础知识

matplotlib.figure — Matplotlib 3.5.1 documentation

fig, ((ax1,ax2),(ax3,ax4)) = plt.subplots(2,2)  # Create a figure containing a single axes.

ax1.plot([1, 2, 3, 4], [1, 4, 2, 3]);  # Plot some data on the axes.

ax2.plot([1, 2, 3, 4], [3, 4, 3, 5]);  # Plot some data on the axes.

plt.show()

matplotlib.pyplot.subplots — Matplotlib 3.5.1 documentation

matplotlib.axes.Axes.plot — Matplotlib 3.5.1 documentation

Matplotlib 图的组成部分

【matplotlib学习笔记】 Matplotlib基础知识

参考

(26条消息) Python基础知识学习笔记——Matplotlib绘图_mica fish的博客-CSDN博客

推荐文章:

Matplotlib 教程 | 菜鸟教程 (runoob.com)

Original: https://blog.csdn.net/weixin_51449137/article/details/124078946
Author: 是安澜啊
Title: 【matplotlib学习笔记】 Matplotlib基础知识

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/764767/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MFC双缓冲绘图技术的使用和测试例子

    文章目录 实现双缓冲 实现小球移动 效果 Invalidate函数 项目代码下载 使用双缓冲技术可以避免屏幕闪烁,绘制一个小球在屏幕中移动,每次小球移动,需要在窗口中擦除背景并且重…

    Python 2023年10月8日
    049
  • 【模拟共享单车租借平台~python】

    目录~python 共享单车租借平台 * 相关程序代码如下: – 程序运行效果如下: pandas 每日一练: * 51、使用绝对路径读取本地Excel数据 &#821…

    Python 2023年8月1日
    060
  • Luminar Neo Mac/win(AI技术图像编辑器)

    Original: https://www.cnblogs.com/aurora-123/p/16738593.htmlAuthor: 佛系女孩Title: Luminar Neo…

    Python 2023年10月25日
    049
  • 用scrapy框架爬取某网站汽车的高清图片【python爬虫入门进阶】(21)

    抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 Original: https://blo…

    Python 2023年10月1日
    043
  • Python数据分析 4.pandas数据科学库

    Python数据分析 4.pandas数据科学库 1.数据类型series 实质是带标签的一维数组,有键和值 import pandas as pd t1 = pd.Series(…

    Python 2023年8月6日
    055
  • pandas中的corr()_在Python中使用Pandas

    Pandas是一个python库,用于处理数据、生成统计数据、聚合数据等等。在这篇文章中,我们将讨论如何使用Pandas库进行数据选择、聚合和统计分析。 我们开始吧! 我们将使用银…

    Python 2023年8月17日
    060
  • Pytorch基础-张量基本操作

    一,张量的基本操作 二,维度变换 2.1,squeeze vs unsqueeze 维度增减 2.2,transpose vs permute 维度交换 三,索引切片 3.1,规则…

    Python 2023年10月28日
    055
  • Python课程设计《网络爬虫-中国大学排名课程设计》

    网络爬虫(又称为网页蜘蛛,网络机器人,在FOFA社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索…

    Python 2023年8月2日
    067
  • 【Linux从入门到放弃】Linux基本指令大全

    🧑‍💻作者: @情话0.0📝专栏:《Linux从入门到放弃》👦个人简介:一名双非编程菜鸟,在这里分享自己的编程学习笔记,欢迎大家的指正与点赞,谢谢! Linux基本指令 一、文件目…

    Python 2023年9月28日
    042
  • Python 基础知识学习笔记——NumPy

    与 matlab 优秀的矩阵运算类似,python 提供了 numpy 库,这对熟悉 matlab 的用户来说非常友好。向量、矩阵和多维数组是数值计算中必不可少的工具。 numpy…

    Python 2023年8月28日
    036
  • Odoo自建应用初步总结(一)

    学习了《Odoo快速入门与实践 Python开发ERP指南》(刘金亮 2019年5月第1版 机械工业出版社)第6章自建应用入门后进行一下总结。 因为本书作者使用Odoo11,而目前…

    Python 2023年6月9日
    061
  • pipeline-scrapy框架7-python

    文章目录 * – 1、pipeline简介 – 2、pipeline结构 – 3、校验检查数据 – + 3.1、校验并丢弃不符合要求…

    Python 2023年10月6日
    035
  • xarray 使用教程 – 未完待续

    目录 前言 一、安装xarray 二、创建xarray数据 ​编辑 三、读取nc数据 四、看出文件信息 五、增加变量属性 六、修改坐标数值: 七、索引和切片 7.1根据位置索引: …

    Python 2023年8月23日
    060
  • Python数据分析与可视化案例解析

    题目需求描述 已知两个Excel表格: 学生基本信息表、 期末考试成绩表分别用于存放学生的基本信息(包括 姓名、 性别、 班级)和学生的期末成绩(包括 姓名、 语文、 数学、 英语…

    Python 2023年8月28日
    046
  • Python3 DataFrame数据排序与排名

    pandas的DataFrame极大地简化了数据分析过程中一些烦琐操作,它是一个表格型的数据结构, 每一列代表一个变量,而每一行则是一条记录。简答地说,DataFrame是共享同一…

    Python 2023年8月7日
    060
  • pandas高频用法大全

    0 前言 pandas作为python中数据处理分析经常使用的一个库,深受大众喜欢,实际中也非常常用,下面我们就针对pandas中的一些高频使用方式进行总结。 1.创建datafr…

    Python 2023年8月17日
    045
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球