Python-matplotlib制图04-添加图名称和坐标轴名称

人的一生只有自己可以为自己设限,所以放开手脚尽管去做吧!

Python-matplotlib制图04-添加图名称和坐标轴名称

  • 前言
    •   1. 概述
    •   2. 版本
      •    2.1 山东青岛,2021年5月2日,Version 1
    •   3. 参考资料
  • 一、plt.title(),plt.xlabel(), plt.ylabel()方法
  • 二、axes.set_title(),axes.set_xlabel(), axes.set_ylabel()方法
  • 三、综合利用“一”、“二”和plt.subtitle()的方法设置图名和坐标轴名称
  • 总结


前言

  1. 概述

  学习如何给matplotlib绘制的图层加图名和坐标轴名称

  2. 版本

   2.1 山东青岛,2021年5月2日,Version 1

  3. 参考资料

[1]. matplotlib官方文档


一、plt.title(),plt.xlabel(), plt.ylabel()方法

  • plt就是import matplotlib.pyplot as plt中的plt,运用plt的方法添加图名称,坐标轴名称时,在一个Figure对象中仅有一个Axes子对象时,比较方便。

  • 在可以利用axes.set_title()等方法的地方,一般都可以运用plt.title()等方法

  • 程序示例:

'''
1. 程序目的
   (1) 增加图名和坐标轴名称

2. 山东青岛  2021年5月2日
'''

# 0. 包的导入
import numpy as np
import matplotlib.pyplot as plt

# 1. 创建绘图数据
data = {
     
    'a': np.arange(50),
    'c': np.random.randint(0,50,50),
    'd': np.random.randn(50)
}
data['b'] = data['a'] + 10*np.random.randn(50)
data['d'] = np.abs(data['d']) * 100

figure = plt.figure(figsize=(5,5))

plt.scatter('a','b',c='c',s='d',data=data)
plt.xlabel('entry a')
plt.ylabel('entry b')
plt.title('Scatter')
plt.show()
  • 运行结果:
    Python-matplotlib制图04-添加图名称和坐标轴名称_第1张图片

二、axes.set_title(),axes.set_xlabel(), axes.set_ylabel()方法

  给制作的图添加图名,坐标轴名称要明确操作的对象【Python中一切皆对象】是axes【子图对象】还是figure【图形对象】,如果是axes则可以用axes对象后面加.set_title()等的方法添加图名等要素。
程序示例:

'''
1. 程序目的
   (1) 增加图名和坐标轴名称

2. 山东青岛  2021年5月2日
'''

# 0. 包的导入
import numpy as np
import matplotlib.pyplot as plt

# 1. 创建制图数据
x = np.linspace(-2,2,100)

# 2. 绘图
  # 2.1 图形对象创建
fig,axes = plt.subplots(figsize=(5,5)) # 创建一个图形对象和一个子图对象
axes.plot(x,x**3,label='cubic',linestyle='--') # axes对象绘图
  # 2.2 axes对象添加图名称,坐标轴名称
axes.set_xlabel('x label')
axes.set_ylabel('y label')
axes.set_title('cubic line')
axes.legend() # 添加图例

plt.show()

运行结果如下:
Python-matplotlib制图04-添加图名称和坐标轴名称_第2张图片

三、综合利用“一”、“二”和plt.subtitle()的方法设置图名和坐标轴名称

  • 同时绘制多幅图时,需要添加图名,可能会用到**plt.suptitle()**函数
  • 绘制多幅图时,对于每幅图可以运用plt.xlabel()的方法也可以利用axes.set_xabel()的方法,但是个人觉得,为了逻辑清晰,建议每幅图运用自己的Axes对象的名称以.set_xlabel()的方法创建坐标轴名称,图名类似。
  • 程序示例
'''
1. 程序目的
   (1) 增加图名和坐标轴名称

2. 山东青岛  2021年5月2日
'''

# 0. 包的导入
import matplotlib.pyplot as plt

# 1. 创建绘图数据
names = list('ABC')
values = [1,10,100]

# 2. 绘图
figure = plt.figure(figsize=(9,3))

axes_1 = plt.subplot(131)
axes_1.bar(names,values)
axes_1.set_xlabel('Group')
axes_1.set_ylabel('Count')
#plt.xlabel('Group') # 不建议使用
#plt.ylabel('GDP')

axes_2 = plt.subplot(132)
axes_2.scatter(names,values)
axes_2.set_xlabel('Group')
#plt.xlabel('Group')

axes_3 = plt.subplot(133)
axes_3.plot(names,values,marker='*')
axes_3.set_xlabel('Group')
#plt.xlabel('Group')

plt.suptitle('Categorical Plotting')

plt.show()
  • 运行结果:
    Python-matplotlib制图04-添加图名称和坐标轴名称_第3张图片

总结

  1. plt.title(),plt.xlabel(), plt.ylabel()方法可以对当前操作的figure或者axes对象添加图名和坐标轴名称。
  2. .set_title(),.set_xlabel()和.set_ylabel()分别添加图名,x轴名称和y轴名称,需要依据操作的对象axes的名称确定其前缀
  3. 同时创建多个axes对象,只添加一个图名时,需要用plt.suptitle()。

你可能感兴趣的:(07_Python基础知识,python)