一、Numpy与Matplotlib读书笔记
(1)numpy
简介
- numpy 是用于处理含有同种元素的多维数组运算的第三方库。
-
numpy 库还包括三角运算函数、傅里叶变换、随机和概率分布、基本数值统计、位运算、矩阵运算等非常丰富的功能,读者在使用时可以到官方网站查询。
-
numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),简称“数组”。
-
数组中所有元素的类型必须相同,数组中元素可以用整数索引,序号从0开始。ndarray 类型的维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。一维数组的秩为1,二维数组的秩为2,二维数组相当于由两个一维数组构成。
-
由于numpy 库中函数较多且命名容易与常用命名混淆,建议采用如下方式引用numpy 库: >>>import numpy as np
-
其中,as 保留字与import 一起使用能够改变后续代码中库的命名空间,有助于提高代码可读性。简单说,在程序的后续部分中,np 代替numpy。
(2)matplotlib库
-
简介
- matplotlib 是提供数据绘图功能的第三方库,其pyplot 子库主要用于实现各种数据展示图形的绘制。
- matplotlib.pyplot 是matplotlib 的子库,引用方式如下: >>>import matplotlib.pyplot as plt
- 上述语句与import matplotlib.pyplot 一致,as 保留字与import 一起使用能够改变后续代码中库的命名空间,有助于提高代码可读性。简单说,在后续程序中,plt 将代替matplotlib.pyplot。
matplotlib 库由一系列有组织有隶属关系的对象构成,这对于基础绘图操作来说显得过于复杂。因此,matplotlib 提供了一套快捷命令式的绘图接口函数,即pyplot 子模块。pyplot 将绘图所需要的对象构建过程封装在函数中,对用户提供了更加友好的接口。pyplot 模块提供一批预定义的绘图函数,大多数函数可以从函数名辨别它的功能。
绘制雷达表:
labels = np.array(['第一周','第二周','第三周','第四周','第五周','第六周']) dataLenth = 6 data = np.array([80,80,85,85,90,90]) angles = np.linspace(0, 2*np.pi, dataLenth, endpoint=False) data = np.concatenate((data, [data[0]])) angles = np.concatenate((angles, [angles[0]])) fig = plt.figure() ax = fig.add_subplot(111, polar=True)# polar参数!! ax.plot(angles, data, 'bo-', linewidth=2) ax.fill(angles, data, facecolor='g', alpha=0.55) ax.set_thetagrids(angles * 180/np.pi, labels, fontproperties="SimHei") ax.set_title("糖加灰先生成绩雷达", va='bottom', fontproperties="SimHei") ax.set_rlim(0,100) ax.grid(True) plt.show()