Matplotlib简介和pyplot的简单使用——Artists

本文深入探讨了Matplotlib的绘图结构,详细介绍了Artists的概念,包括primitives和containers两大类,以及它们在Figure、Axes、Axis和Tick层级中的应用。通过理解这些组件及其属性,读者将能更灵活地定制和优化数据可视化图表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这次介绍Matplotlib里面画图的结构,各种Artists。

之前只是知道怎么用pyplot画图,没有去理解pyplot,现在整理一下自己的理解。

在pyplot(或者是更全一点的matplotlib)里面,有两类Artists,一个是primitives,元素,表示我们想要画出来的标准的图像对象,像Line2D(二维的曲线),Rectangle,Text,AxesImage等;另一个是containers,用来存放元素,如Axis,Axes和Figure.

每个Artist有很多可以设置的属性,如下图所示,

这里有与boudningbox相关的内容,后面或许会用到。

既然每个Artist有这些属性,就可以对其进行设置,container可以直接进行设置,那么primitives呢?既然container包含了primitives,那么就可以从container得到primitives,然后对其进行设置。下面看container。

最顶层的是Figure,包含了所画出图像里的所有内容,这些内容是


然后就是最重要的Axes,因为它是大多数情况下的画图区域,通过plot(),text(),hist(),imshow()等,来创建图像元素,之前用到的Subplot就是一类特殊的Axes。

可以在Axes添加的primitives由下面的方法实现,


与Figure类似,Axes作为containers,包含如下属性,


Axes下面一层是Axis,坐标轴,可以设置坐标轴的属性,
Axis下面还有最后一层,Tick,就是坐标轴上面的刻度,标注,等。所以要让图像有两个坐标轴,或者把坐标轴从左边换到右边,就是与这个相关的。

这一部分其实是Matplotlib手册的第九章,还有相关的例子,详见手册。

 

转载于:https://www.cnblogs.com/Frandy/archive/2012/09/29/python_pyplot_artists.html

### 使用 Matplotlib Pyplot 进行绘图 MatplotlibPython 中广泛使用的可视化库,其中 `matplotlib.pyplot` 提供了一种类似于 MATLAB 的绘图接口[^1]。通过这个模块可以轻松创建多种类型的图表。 #### 创建简单的折线图 下面是一个展示如何利用 `matplotlib.pyplot` 来绘制基本折线图的例子: ```python import numpy as np from matplotlib import pyplot as plt # 定义数据点 x = np.linspace(-np.pi, np.pi, 256, endpoint=True) c, s = np.cos(x), np.sin(x) # 设置图形标题并配置字体以支持中文显示 plt.title('正余弦函数图') plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 绘制曲线 plt.plot(x, c) plt.plot(x, s) # 添加网格辅助查看趋势 plt.grid(True, linestyle='--', color='gray', linewidth=0.5, axis='both') # 将图像保存到文件夹内指定位置 plt.savefig('data/正余弦函数图.png') print('正余弦函数图保存成功...') plt.show() ``` 这段代码展示了怎样设置中文字体、定义坐标范围以及添加额外元素如网格来增强可读性的技巧[^3]。 #### 制作散点图实例 另一个常见的应用场景就是制作散点图,在这里给出一段具体的实现方式: ```python import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots() # 随机生成一些样本点用于测试目的 ax.scatter(10 * np.random.randn(100), 10 * np.random.randn(100)) # 设定图表名称 ax.set_title('Simple Scatter') plt.show() ``` 此部分说明了如何快速构建一个基础版本的散点分布图,并设置了相应的标题以便于理解所呈现的数据关系[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值