numpy和matplotlib的简单应用

一、库函数介绍

1. numpy库

  NumPy(Numeric Python)提供了一个N维的数组类型ndarray,Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,效率远高于纯Python代码。

  ndarray到底跟原生python列表的区别:

  ndarray中的所有元素的类型都是相同的,而Python列表中的元素类型是任意的,所以ndarray在存储元素时内存可以连续,而python原生list就只能通过寻址方式找到下一个元素,这虽然也导致了在通用性能方面Numpy的ndarray不及Python原生list,但在科学计算中,Numpy的ndarray就可以省掉很多循环语句,代码使用方面比Python原生list简单的多。

2. matplotlib库

  matplotlib 是一个 Python 的 2D绘图库,也是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。它利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+向应用程序嵌入式绘图提供了应用程序接口(API)。此外,matplotlib还有一个基于图像处理库(如开放图形库OpenGL)的pylab接口,其设计与MATLAB非常类似--尽管并不怎么好用。SciPy就是用matplotlib进行图形绘制。

 

二、用雷达图表示python123中的成绩数据

复制代码
 1 import numpy as np
 2 import matplotlib.pyplot as plt
 3 import matplotlib
 4 matplotlib.rcParams['font.family']='LiSu'#定义字体
 5 matplotlib.rcParams['font.sans-serif'] = ['LiSu']
 6 labels=np.array(['第一周','第二周','第三周','第四周','第五周','第六周'])#定义标签
 7 data=np.array([8,10,9,10,11,7])
 8 angles=np.linspace(0,2*np.pi,6,endpoint=False)
 9 data=np.concatenate((data,[data[0]]))
10 angles=np.concatenate((angles,[angles[0]]))
11 fig=plt.figure(facecolor="yellow")#颜色设置
12 plt.subplot(111,polar=True)
13 plt.plot(angles,data,'bo-',color='g',linewidth=2)
14 plt.fill(angles,data,facecolor='g',alpha=0.25)
15 plt.thetagrids(angles*180/np.pi,labels)
16 plt.figtext(0.52,0.95,'xiayiLL的python123成绩雷达图',ha='center')#图像命名
17 plt.grid(True)
18 plt.show()
复制代码

 

posted @ 2019-04-24 23:08  爱你一生12581  阅读(382)  评论(0编辑  收藏  举报