学习心得
(1)
Matplotlib是Python中一个二维绘图包,能够非常简单的实现数据可视化。Matplotlib最早由John Hunter于2002年启动开发,其目的是为了构建一个Matlab式的绘图函数接口。下面详细介绍Matplotlib图像构成、Matplotlib图像基本绘图流程、中文字符显示、坐标轴字符刻度标注等基本绘图知识。 为了方便快速绘图,Matplotlib通过pyplot 模块(import matplotlib.pyplot as plt ),提供了一套和Matlab类似的命令API,将众多绘图对象所构成的复杂结构隐藏在这套API内部,这些对象对应图形的一个个图形元素(如坐标轴、曲线、文字等),模块给每个对象分配函数,以此对该图形元素进行操作,而不影响其他部分。创建好画布后,只需调用pyplot 模块所提供的函数,仅几行代码就可以实现添加、修改图形元素或在原有图形上绘制新图形。
1.Matplotlib图像构成
可以分为4个层次结构: (1)canvas(画板):位于最底层,导入M库就自动存在; (2)figure(画布):建立在canvas之上,从这一层就能开始设置其参数; (3)axes(子图):将figure分成不同块,实现分面绘图; (4)图表信息(构图元素):添加或修改axes上的图形信息,优化图表的显示效果。
2.绘图基本步骤
"""
Created on Thu Sep 23 17:24:50 2021
@author: 86493
"""
import matplotlib.pyplot as plt
import numpy as np
plt.figure(1)
x = np.linspace(0, 1, 1000)
plt.subplot(2, 1, 1)
plt.title('y=x^2 & y=x')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0, 1))
plt.ylim((0, 1))
plt.xticks([0, 0.3, 0.6, 1])
plt.yticks([0, 0.5, 1])
plt.plot(x, x ** 2)
plt.plot(x, x)
plt.legend(['y=x^2', 'y=x'])
plt.savefig('first.png')
plt.show()
3.中文字符显示
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 10, 0.2)
y = np.sin(x)
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
plt.title('sin曲线')
plt.plot(x, y)
plt.savefig('third.png')
plt.show()
4.坐标轴字符刻度标注
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([100, 104, 106, 95, 103, 105, 115, 100])
v = ['2020年一季度', '2020年二季度','2020年三季度','2020年四季度',
'2021年一季度','2021年二季度','2021年三季度','2021年四季度',]
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.title('某产品2020-2021各季度销售额')
plt.plot(x, y)
plt.xlabel('季度')
plt.xticks(x, v, rotation = 45)
plt.ylabel('销售额(万元)')
plt.show()
5.
|