我的编程空间,编程开发者的网络收藏夹
学习永远不晚

numpy 与 matplotlib 的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

numpy 与 matplotlib 的

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进行图形绘制。

 

二、应用A

1. 介绍:对python123作业的成绩通过画图显示

2. 代码实现:

 1 # -*- coding:utf-8 -*-
 2 ''' 成绩雷达图 '''
 3 import numpy as np
 4 import matplotlib.pyplot as plt
 5 plt.rcParams['font.family'] = 'SimHei'        # 设置字体
 6 plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体
 7 
 8 labels = np.array(['第一周','第二周','第三周','第四周','第五周','第六周']) # 设置标签
 9 datas = np.array([8, 10, 9, 10, 11, 7])       # 设置数据
10 angles = np.linspace(0, 2*np.pi, 6, endpoint = False) # 设置角度
11 datas = np.concatenate((datas, [datas[0]]))
12 angles = np.concatenate((angles, [angles[0]]))
13 fig = plt.figure(facecolor = 'white')         # 创建绘图区域
14 plt.subplot(111, polar = True)                # 极坐标
15 plt.plot(angles, datas, 'bo-', color = 'g', linewidth = 1) # 画图
16 plt.fill(angles, datas, facecolor = 'g', alpha = 0.25)     # 填充
17 plt.thetagrids(angles*180/np.pi, labels)      # 设置极坐标的位置
18 plt.figtext(0.52, 0.95, '04-步平凡', ha = 'center') # 设置标题
19 plt.grid(True)   # 打开网格线
20 plt.show()       # 展示图片

 

3. 效果展示:

 

三、应用B

1. 介绍:使用numpy和PIL库实现图像的手绘效果

2. 代码实现:

 1 # -*- coding:utf-8 -*-
 2 ''' 手绘图像效果 '''
 3 import numpy as np
 4 from PIL import Image
 5 vec_el = np.pi/2.2   # 光源的俯视角度,弧度值
 6 vec_az = np.pi/4.    # 光源的方位角度,弧度值
 7 depth = 6.          # 深度权值,值越小背景区域越接近白色,值越大背景区域越接近黑色
 8 im = Image.open('PICTURE\HandMade.jpg').convert('L')     # 打开图像并转变为灰度模式
 9 a = np.asarray(im).astype('float')
10 grad = np.gradient(a)              # 取图像灰度的梯度值
11 grad_x, grad_y = grad              # 分别取图像的横纵梯度值
12 grad_x = grad_x * depth / 100.
13 grad_y = grad_y * depth / 100.
14 dx = np.cos(vec_el) * np.cos(vec_az) # 光源对x轴的影响
15 dy = np.cos(vec_el) * np.sin(vec_az) # 光源对y轴的影响
16 dz = np.sin(vec_el)                  # 光源对z轴的影响
17 A = np.sqrt(grad_x**2 + grad_y**2 + 1.)
18 uni_x = grad_x/A
19 uni_y = grad_y/A
20 uni_z = 1./A
21 a2 = 255*(dx * uni_x + dy * uni_y + dz * uni_z) # 光源归一化
22 a2 = a2.clip(0, 255)                 # 预防溢出
23 im2 = Image.fromarray(a2.astype('uint8'))       # 重构图像
24 im2.save('HandMade_.jpg') # 保存图像
25 im2.show()                # 显示图像

 

3. 效果展示:

                                           原图                                                                              效果图

 

四、应用C

1. 简介:用numpy和matplotlib展现数学模型 —— 正态分布

2. 代码实现:

 1 # -*- coding:utf-8 -*-
 2 ''' 正态分布 '''
 3 import numpy as np
 4 import matplotlib.mlab as mlab
 5 import matplotlib.pyplot as plt
 6 
 7 dx = 100           # 正态分布的均值
 8 sigma = 15         # 标准差
 9 x = dx + sigma * np.random.randn(10000)  # 在均值周围产生符合正态分布的x值
10 
11 num_bins = 50
12 n, bins, patches = plt.hist(x, num_bins, normed=1, facecolor='green', alpha=0.5)
13 # 直方图函数,x为x轴的值,normed=1表示为概率密度,即和为一,绿色方块,色深参数0.5.返回n个概率,直方块左边线的x值,及各个方块对象
14 y = mlab.normpdf(bins, dx, sigma)        # 画一条逼近的曲线
15 plt.plot(bins, y, 'r--')
16 plt.xlabel('Smarts')                     # x轴标签
17 plt.ylabel('Probability')                # y轴标签
18 plt.title(r'Histogram of IQ: $\mu=100$, $\sigma=15$') # 中文标题
19 
20 plt.subplots_adjust(left=0.15)           # 左边距
21 plt.grid(True)      # 打开网格线
22 plt.show()          # 显示图片

 

3. 效果展示:

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

numpy 与 matplotlib 的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

numpy 与 matplotlib 的

numpy 与 matplotlib 的应用一、库函数介绍1. numpy库  NumPy(Numeric Python)提供了一个N维的数组类型ndarray,Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作
2023-01-31

详解Python中的Numpy、SciPy、MatPlotLib安装与配置

用Python来编写机器学习方面的代码是相当简单的,因为Python下有很多关于机器学习的库。其中下面三个库numpy,scipy,matplotlib,scikit-learn是常用组合,分别是科学计算包,科学工具集,画图工具包,机器学习
2022-06-04

Python安装Numpy和matplotlib的方法(推荐)

Python安装Numpy和matplotlib的方法(推荐) 注意: 下载的库名中cp27代表python2.7,其它同理。在shell中输入import pip; print(pip.pep425tags.get_supported()
2022-06-04

python安装numpy&安装matplotlib& scipy的教程

numpy安装 下载地址:https://pypi.python.org/pypi/numpy(各取所需) copy安装目录。eg:鄙人的D:python3.6.1Scripts pip install :eg: win+R ----->
2022-06-04

利用numpy+matplotlib绘图的基本操作教程

简述Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且语法简单。具体介绍见matplot官网。 Numpy(Numeric Python)是一个模仿mat
2022-06-04

Ubuntu 18.04安装 pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib

1、目前Python版本管理工具有很多,pyenv是比较好用的一款,安装如下: 输入:git clone https://github.com/pyenv/pyenv.git ~/.pyenv echo 'export PY
2022-06-04

利用matplotlib+numpy绘制多种绘图的方法实例

前言 matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。本文将以例子的形式分析matplot中支持的,分析中常用的几种图。其中包括填充图、散点图(scatter pl
2022-06-04

Ubuntu如何安装pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow和Matplotlib

这篇文章主要讲解了“Ubuntu如何安装pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow和Matplotlib”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深
2023-07-04

使用numpy与matplotlib.p

使用numpy与matplotlib.pyplot画图1. 折线图 1 # -*- enccoding:utf-8 -*- 2 import numpy as np 3 import matplotlib.pyplot as plt 4 p
2023-01-31

python图像处理基本操作总结(PIL库、Matplotlib及Numpy)

一、PIL库对图像的基本操作 1、读取图片 PIL网上有很多介绍,这里不再讲解。直接操作,读取一张图片,将其转换为灰度图像,并打印出来。from PIL import Image import matplotlib.pyplot as
2022-06-02

Numpy数组与列表的用法

本篇内容主要讲解“Numpy数组与列表的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Numpy数组与列表的用法”吧! 1. 本文介绍今天为大家介绍以下内容: Ⅰ ndarray数组与列表的
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录