码迷,mamicode.com
首页 > 其他好文 > 详细

科学计算可视化

时间:2019-04-24 00:10:43      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:min()   需要   data   通过   rod   分布   最大   第一周   矩阵运算   

通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。

Matplotlib基础知识

1.Matplotlib中的基本图表包括的元素

x轴和y轴

水平和垂直的轴线

x轴和y轴刻度

刻度标示坐标轴的分隔,包括最小刻度和最大刻度

x轴和y轴刻度标签

表示特定坐标轴的值

绘图区域

实际绘图的区域

2.hold属性

hold属性默认为True,允许在一幅图中绘制多个曲线;将hold属性修改为False,每一个plot都会覆盖前面的plot。

但是目前不推荐去动hold这个属性,这种做法(会有警告)。因此使用默认设置即可。

3.网格线

grid方法

使用grid方法为图添加网格线

设置grid参数(参数与plot函数相同)

.lw代表linewidth,线的粗细

.alpha表示线的明暗程度

4.axis方法

如果axis方法没有任何参数,则返回当前坐标轴的上下限

5.xlim方法和ylim方法

除了plt.axis方法,还可以通过xlim,ylim方法设置坐标轴范围

6.legend方法

两种传参方法:

【推荐使用】在plot函数中增加label参数

在legend方法中传入字符串列表

配置matplotlib参数

永久配置

matplotlib配置信息是从配置文件读取的。在配置文件中可以为matplotlib的几乎所有属性指定永久有效的默认值

安装级配置文件(Per installation configuration file)

二、

一、Numpy库

Numpy是什么

numpy很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数。

数组常用函数

1.where() 
按条件返回数组的索引值 
2.take(a,index) 
从数组a中按照索引index取值 
3.linspace(a,b,N) 
返回一个在(a,b)范围内均匀分布的数组,元素个数为N个 
4.a.fill() 
将数组的所有元素以指定的值填充 
5.diff(a) 
返回数组a相邻元素的差值构成的数组 
6.sign(a) 
返回数组a的每个元素的正负符号 
7.piecewise(a,[condlist],[funclist]) 
数组a根据布尔型条件condlist返回对应元素结果 
8.a.argmax(),a.argmin() 
返回a最大、最小元素的索引

改变数组维度

a.ravel(),a.flatten(): 
将数组a展平成一维数组
a.shape=(m,n),a.reshape(m,n): 
将数组a转换成m*n维数组 
3.a.transpose,a.T 
转置数组a

数组组合

1.hstack((a,b)),concatenate((a,b),axis=1) 
将数组a,b沿水平方向组合 
2.vstack((a,b)),concatenate((a,b),axis=0) 
将数组a,b沿竖直方向组合 
3.row_stack((a,b)) 
将数组a,b按行方向组合 
4.column_stack((a,b)) 
将数组a,b按列方向组合

数组分割

1.split(a,n,axis=0),vsplit(a,n) 
将数组a沿垂直方向分割成n个数组 
2.split(a,n,axis=1),hsplit(a,n) 
将数组a沿水平方向分割成n个数组

数组修剪和压缩

1.a.clip(m,n) 
设置数组a的范围为(m,n),数组中大于n的元素设定为n,小于m的元素设定为m 
2.a.compress() 
返回根据给定条件筛选后的数组

数组属性

1.a.dtype 
数组a的数据类型 
2.a.shape 
数组a的维度 
3.a.ndim 
数组a的维数 
4.a.size 
数组a所含元素的总个数 
5.a.itemsize 
数组a的元素在内存中所占的字节数 
6.a.nbytes 
整个数组a所占的内存空间 
7.a.astype(int) 
转换a数组的类型为int型

数组计算

1.average(a,weights=v) 
对数组a以权重v进行加权平均 
2.mean(a),max(a),min(a),middle(a),var(a),std(a) 
数组a的均值、最大值、最小值、中位数、方差、标准差 
3.a.prod() 
数组a的所有元素的乘积 
4.a.cumprod() 
数组a的元素的累积乘积 
5.cov(a,b),corrcoef(a,b) 
数组a和b的协方差、相关系数 
6.a.diagonal() 
查看矩阵a对角线上的元素 
7.a.trace()

 计算矩阵a的迹,即对角线元素之和

三、应用

绘制雷达图

1、首先先下载pandas

技术图片

2、然后插入代码并运行

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams[font.sans-serif] = [KaiTi]
labels = np.array([u第一周, u第二周, u第三周,u第四周,u第五周,u第六周]) # 标签
dataLenth = 6
data_radar = np.array([100,90.9,100,80,100,90])
angles = np.linspace(0, 2*np.pi, dataLenth, endpoint=False)
data_radar = np.concatenate((data_radar, [data_radar[0]]))
angles = np.concatenate((angles, [angles[0]]))
plt.polar(angles, data_radar, bo-, linewidth=1)
plt.thetagrids(angles * 180/np.pi, labels)
plt.fill(angles, data_radar, facecolor=r, alpha=0.25)
plt.ylim(0, 100)
plt.title(u鄞思丹的成绩表)
plt.show()

技术图片技术图片

科学计算可视化

标签:min()   需要   data   通过   rod   分布   最大   第一周   矩阵运算   

原文地址:https://www.cnblogs.com/ysd973/p/10759850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!