《Python语言程序设计基础》—— 第9章

科学计算和可视化

numpy

numpy库中常用的数组创建函数

在这里插入图片描述
在这里插入图片描述

查看ndarray类的常用属性

在这里插入图片描述

ndarray类的形态操作方法

在这里插入图片描述
对视图的操作都会直接反映到源数组。如果不想影响原数组,需要进行复制操作,利用.copy()函数进行复制操作。

numpy库中的算术运算函数

在这里插入图片描述

numpy库的比较运算函数

在这里插入图片描述
在这里插入图片描述
上面这些函数返回的都是布尔数组,表示两个数组中对应元素值的比较结果。

np.less([1, 2], [2, 2])
##输出是array([True, False], dtype=bool)

numpy库的运算函数

在这里插入图片描述
numpy库还有很多函数,需要使用的时候到官网查吧!先了解这么多!

matplotlib,pyplot

该库提供了一批操作和绘图函数,每个函数代表对图像进行的一个操作。

plt库的绘图区域函数

函数描述
plt.figure(figsize=None,facecolor=None)创建一个全局绘图区域
plt.axes(rect, axisbg='w创建一个坐标系风格的子绘图区域
plt.subplot(nrows, ncols, plot_number)在全局绘图区域中创建一个子绘图区域
plt.subplots_adjust()调整自绘图区域的布局

plt库的读取和显示函数

函数描述
plt.legend()在绘图区域中加上图注
plt.show()显示创建的绘图对象
plt.matshow()在窗口显示数组矩阵
plt.imshow()在axes上显示图像
plt.imsave()保存数组为图像文件
plt.imread()从图像文件中读取数据
import matplotlib.pyplot as plt

plt.figure(figsize=(8, 4))
##figure函数创建一个全局绘图区域,并且使它成为当前的绘图对象,figsize
##指定绘图区域的宽度和高度,以英寸为单位。
plt.subplot(322)
##在全局绘图区域中创建子绘图区域,subplot(nrows, ncols, plot_number)
##表示将全局绘图区域划分成nrows行和ncols列,并根据先行后列的计数方式在plot_number位置
##生成一个坐标系。

plt.show() ##显示

import numpy as np
import matplotlib.pyplot as plt
import matplotlib

##使用下面两行代码更改默认设置,SimHei表示黑体
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']

def Draw(pcolor, nt_point, nt_text, nt_size):
    plt.plot(x, y, 'y', label="$exp_decay$", color=pcolor, linewidth=3, linestyle="-")
    plt.plot(x, z, "b--", label="$cos(x^2)$", linewidth=1)
    plt.xlabel('时间(s)')
    plt.ylabel('幅度(mV)')
    plt.title("阻尼衰减曲线绘制")
    plt.annotate('$\cos(2 \pi t) \exp(-t)$', xy=nt_point, xytext=nt_text, fontsize=nt_size,\
               arrowprops=dict(arrowstyle='->', connectionstyle="arc3,rad=.1"))
    ##配合箭头在曲线绘图界面添加动态注释
def Shadow(a, b):
    ix = (x>a) & (x<b)
    plt.fill_between(x,y,0,where=ix,facecolor='grey', alpha=0.25)
    plt.text(0.5 * (a + b), 0.2, "$\int_a^b f(x)\mathrm{d}x$", \
             horizontalalignment='center')
def XY_Axis(x_start, x_end, y_start, y_end):
    plt.xlim(x_start, x_end)
    plt.ylim(y_start, y_end)
    plt.xticks([np.pi/3, 2 * np.pi/3, 1 * np.pi, 4 * np.pi/3, 5 * np.pi/3], \
               ['$\pi/3$', '$2\pi/3$', '$\pi$', '$4\pi/3$', '$5\pi/3$'])
x = np.linspace(0.0, 6.0, 100)
y = np.cos(2 * np.pi * x) * np.exp(-x)+0.8
z = 0.5 * np.cos(x ** 2)+0.8
note_point,note_text,note_size = (1, np.cos(2 * np.pi) * np.exp(-1)+0.8),(1, 1.4), 14
fig = plt.figure(figsize=(8, 6), facecolor="white")
plt.subplot(111)
Draw("red", note_point, note_text, note_size)
XY_Axis(0, 5, 0, 1.8)
Shadow(0.8, 3)
plt.legend()
plt.savefig('sample.JPG') ##将产生的坐标图保存为文件
plt.show()

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
##用于支持中文
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
labels = np.array(['综合', 'KDA', '发育', '推进', '生存','输出'])
nAttr = 6
data = np.array([7, 5, 6, 9, 8, 7])
angles = np.linspace(0, 2*np.pi, nAttr, endpoint=False)
data = np.concatenate((data, [data[0]]))
angles = np.concatenate((angles, [angles[0]]))
##连接函数用于将数据和角度首尾闭合起来,便于调用plot()函数进行绘制
fig = plt.figure(facecolor="white")
plt.subplot(111, polar=True) ##建立极坐标的子分区, polar指明绘制的类型是极坐标
plt.plot(angles,data,'bo-',color ='g',linewidth=2)
plt.fill(angles,data,facecolor='g',alpha=0.25)
##plt.thetagrids(angles*180/np.pi, labels)
plt.figtext(0.52, 0.95, 'DOTA能力值雷达图', ha='center')
plt.grid(True)
plt.show()

库函数真是太多了,记不住哎!等到用的时候查吧!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值