matplotlib入门基础(六)网格 图例 图片保存

这篇文章同样以面向对象风格为主,介绍设置网格(grid)、图例(legend)、图片保存的方法。

这篇文章分以下部分来介绍:
1. 设置网格
2. 设置图例
3. 图片保存

1. 设置网格

网格与轴刻度相关,在坐标轴上有刻度的位置才能显示网格。所以这里以x轴的网格为例,先设置x轴刻度,再设置x轴网格。仍然使用面向对象风格,创建figure,创建axes,用axes画图,再调用axes模块里的函数,贴出一段基础代码

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

x = [1,3,5,7]
y = [4,9,6,8]

# 创建figure,axes,并用axes画图
figure = plt.figure()
axes = figure.add_subplot(1,1,1)
axes.plot(x,y,'o-r')

# x轴主刻度的位置
axes.xaxis.set_major_locator(ticker.FixedLocator([1,4,7]))
# x轴小刻度的位置
axes.xaxis.set_minor_locator(ticker.FixedLocator([2,3,5]))

# x轴网格(这里只设置x轴的,y轴的同理)
# 扩展参数:Line2D属性参数
axes.xaxis.grid(visible=True,
                which='major', #主刻度网格
                #扩展参数:Line2D属性参数
                color='r' #主刻度网格设置成红色以便区分
                )
axes.xaxis.grid(visible=True,
                which='minor' #小刻度网格
                #扩展参数:Line2D属性参数
                )

plt.show()

axes.xaxis.grid()表示在axes的x轴上设置网格,which参数用于选择是主刻度的网格还是小刻度的网格。axis.grid()参数还包括Line2D属性参数。其余参数参考官网。
(axis.grid()函数完整参数参考官网:matplotlib.axis.Axis.grid — Matplotlib 3.5.2 documentation

执行可以得到以下图片,图中已经注释x轴主刻度,x轴小刻度,x轴主刻度网格,x轴小刻度网格

  

如果不设置任何轴刻度,matplotlib会使用默认刻度,这时也可以用axes.grid()生成默认网格,效果如下

2. 设置图例

仍然使用面向对象风格,创建figure,创建axes,用axes画图,再调用axes模块里的函数,贴出一段基础代码

import matplotlib.pyplot as plt

x = [1,3,5,7]
y = [4,9,6,8]

# 创建figure,axes,并用axes画图
figure = plt.figure()
axes = figure.add_subplot(1,1,1)
axes.plot(x,y,'o-r',label='this is the legend') #注意设置label参数

# 图例
# 其他参数参考官网
axes.legend(loc='upper left',  #default: 'best'
            fontsize='medium', #也可以直接设置数字
            labelcolor='red',
            markerscale=1.0, #default: 1.0,图例上的标记相对于图上的标记的大小
            facecolor='pink', #图例的背景色
            edgecolor='blue'  #图例的背景边框色
            ) 

plt.show()

注意必须在axes.plot()函数中设置label参数,axes.legend()才能发挥作用。axes.legend()参数含义已经标注在下面的执行得到的图片中。其余参数参考官网。
(axes.legend()函数完整参数参考官网:matplotlib.axes.Axes.legend — Matplotlib 3.5.2 documentation

执行可以得到以下图片,图中已经注释所设置的参数对应的效果

同样,上面的一段代码等效于(pyplot风格)
# pyplot函数用法
plt.legend(...)

3. 图片保存

这里指的是用代码实现图片保存,仍然使用面向对象风格,创建figure,创建axes,用axes画图,之后,添加函数figure.savefig(),例如figure.savefig(fname=r'C:\Users\ZXS\Desktop\fig.jpg'),fname参数表示图片保存路径,字符串前面的r表示字符串不进行转义。其余参数参考官网。
(figure.savefig()函数完整参数参考官网:matplotlib.figure — Matplotlib 3.5.2 documentation

同样,figure.savefig()等效于(pyplot风格)
# pyplot函数用法
plt.savefig(...)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值