科学计算和可视化

一、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()

 

上一篇:论文阅读笔记_002 Improving shallow water multibeam target detection at low grazing angles


下一篇:【python】成绩表雷达图