WELCOME

不积跬步,无以至千里;不积小流,无以成江海。

matplotlib对坐标轴的操作和子图

1.其他元素可实性

1.1 显示网格 plt.grid()

plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5",axis = 'x') 显示网格 linestyle:线型 color:颜色 linewidth:宽度 axis:x,y,both,显示x/y/两者的格网

 

 1.2 plt.gca() 对坐标轴的操作

 

 1.3 plt.rcParams设置画图的分辨率,大小等信息

plt.rcParams['figure.figsize'] = (8.0, 4.0) # 设置figure_size英寸 plt.rcParams['figure.dpi'] = 300 #分辨率 默认的像素:[6.0,4.0],分辨率为72,图片尺寸为 432x288 指定dpi=100,图片尺寸为 600*400 指定dpi=300,图片尺寸为 1800*1200

2.图表的样式设置

2.1 线条样式

传入x,y,通过plot画图,并设置折线颜色、透明度、折线样式和折线宽度
标记点、标记点大小、标记点边颜色、标记点边宽,网格 plt.plot(x,y,color
='red',alpha=0.3,linestyle='-',linewidth=5,marker='o',
markeredgecolor='r',markersize='20',markeredgewidth=10)

2.1.1 color:可以使用颜色的16进制,也可以使用线条颜色的英文,还可是使用之前的缩写

颜色参考地址:http://tools.jb51.net/color/jPicker

2.1.2 alpha: 0-1,透明度

2.1.3  linestyle:折线样式

2.1.4 marker标记点:

 

 

 2.2 创建图像对象

在 Matplotlib 中,面向对象编程的核心思想是创建图形对象(figure object)。通过图形对象来调用其它的方法和属性,
这样有助于我们更好地处理多个画布。在这个过程中,pyplot 负责生成图形对象,并通过该对象来添加一个或多个 axes 对象(即绘图区域)。 Matplotlib 提供了matplotlib.figure图形类模块,它包含了创建图形对象的方法。通过调用 pyplot 模块中 figure()
函数来实例化 figure 对象。
figure方法如下: plt.figure( num=None,-----------------------------> 图像编号或名称,数字为编号 ,字符串为名称 figsize=None,-------------------------> 指定figure的宽和高,单位为英寸; dpi=None,-----------------------------> 定绘图对象的分辨率,即每英寸多少个像素,缺省值为72 facecolor=None,-----------------------> 背景颜色 edgecolor=None, ----------------------> 边框颜色 frameon=True, ------------------------> 是否显示边框 **kwargs, )

 3.绘制多子图

figure是绘制对象(可理解为一个空白的画布),一个figure对象可以包含多个Axes子图,一个Axes是一个绘图区域,
不加设置时,Axes为1,且每次绘图其实都是在figure上的Axes上绘图。 add_axes() : 添加区域 subplot() : 均等地划分画布,只是创建一个包含子图区域的画布,(返回区域对象) subplots() : 既创建了一个包含子图区域的画布,又创建了一个 figure 图形对象.(返回图形对象和区域对象)

3.1 add_axes :添加区域

Matplotlib 定义了一个 axes 类(轴域类),该类的对象被称为 axes 对象(即轴域对象),它指定了一个有数值范围限制的绘图区域。在一个给定
的画布(figure)中可以包含多个 axes 对象,但是同一个 axes 对象只能在一个画布中使用。 2D 绘图区域(axes)包含两个轴(axis)对象 语法: add_axes(rect) 该方法用来生成一个 axes 轴域对象,对象的位置由参数rect决定 rect 是位置参数,接受一个由
4 个元素组成的浮点数列表,形如 [left, bottom, width, height] ,它表示添加到画布中的矩形区域的左下

角坐标(x, y),以及宽度和高度。

区域中基本方法的使用 区域图表名称: set_title 区域中x轴和y轴名称:set_xlabel() set_ylabel() 刻度设置: set_xticks() 区域图表图例: legend()

 3.2 subplot() 函数,它可以均等地划分画布

参数格式如下: ax = plt.subplot(nrows, ncols, index,*args, **kwargs) nrows 行 ncols 列 index: 索引 kwargs: title/xlabel/ylabel 等..... 也可以直接将几个值写到一起,如:subplot(233) 返回:区域对象 nrows 与 ncols 表示要划分几行几列的子区域(nrows*nclos表示子图数量),
index 的初始值为1,用来选定具体的某个子区域。
例如: subplot(233)表示在当前画布的右上角创建一个两行三列的绘图区域(如下图所示),

同时,选择在第 3 个位置绘制子图。

如果新建的子图与现有的子图重叠,那么重叠部分的子图将会被自动删除,因为它们不可以共享绘图区域。

 3.2.1 在创建的时候直接设置:

  对于subplot关键词赋值参数的了解,可以将光标移动到subplot方法上,使用快捷键shift+tab查看具体内容

发现子图标题重叠,在最后使用plt.tight_layout()

3.2.2 使用pyplot模块中的方法设置后再绘制

 3.2.3 使用返回的区域对象设置

注意区域对象的方法很多都是set_开头 使用区域对象将不存在 设置位置

3.3 subplots() 函数

matplotlib.pyplot模块提供了一个 subplots() 函数,它的使用方法和 subplot() 函数类似。其不同之处在于,subplots()
既创建了一个包含子图区域的画布,又创建了一个 figure 图形对象,而 subplot() 只是创建一个包含子图区域的画布。 subplots 的函数格式如下: fig , ax
= plt.subplots(nrows, ncols) nrows 与 ncols 表示两个整数参数,它们指定子图所占的行数、列 函数的返回值是一个元组,包括一个图形对象和所有的 axes 对象。其中 axes 对象的数量等于 nrows * ncols,且每
个 axes 对象均可通过索引值访问(从1开始)

 

 3.4 绘制一个特殊的图形,如:

可以先创建一个12(即1行两列的),在第一列画一个,再在第二列绘制一个22的,
分别在第2和4个位置画图

 


__EOF__

本文作者Ambitious
本文链接https://www.cnblogs.com/ambitiousPlus/p/16224841.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Ambitious~  阅读(213)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示