【python】pandas & matplotlib 数据处理 绘制曲面图
Python matplotlib模块,是扩展的MATLAB的一个绘图工具库,它可以绘制各种图形
建议安装 Anaconda后使用 ,集成了很多第三库,基本满足大家的需求,下载地址,对应选择python 2.7 或是 3.5 的就可以了:
https://www.continuum.io/downloads#windows
脚本默认执行方式: 1.获取当前文件夹下的1.log文件 2.将数据格式化为矩阵 3.以矩阵的列索引为x坐标,行索引为y坐标,值为z坐标 4.绘制曲面图 |
测试所用数据:r_gain=r_gain=r_gain=r_gain=r_gain=107.000000f,r_gain=111.000000f,r_gain=109.000000f,r_gain=111.000000f,r_gain=101.000000f,r_gain=r_gain=r_gain=r_gain= |

# -*- coding: utf-8 -*-from matplotlib import pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfrom pandas import DataFramedef draw(x, y, z): ''' 采用matplolib绘制曲面图 :param x: x轴坐标数组 :param y: y轴坐标数组 :param z: z轴坐标数组 :return: ''' X = x Y = y Z = z fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.plot_trisurf(X, Y, Z) plt.show()if __name__ == '__main__': ''' 默认执行方式: 1.获取当前文件夹下的1.log文件 2.将数据格式化为矩阵 3.以矩阵的列索引为x坐标,行索引为y坐标,值为z坐标 4.绘制曲面图 ''' data = {} index_origin = 0 f = open("1.log") line = f.readline() while line: data[index_origin] = line.split('=')[-1].replace(' ', '').split('f,')[0:-1] index_origin = index_origin + 1 line = f.readline() f.close() df = DataFrame(data) df = df.T x = [] for i in range(len(df.index)): x = x + list(df.columns) print(x) y = [] for i in range(len(df.index)): for m in range(17): y.append(i) print(y) z = [] for i in range(len(df.index)): z = z + df[i:i + 1].values.tolist()[0] z = map(float, z) print (z) draw(x, y, z) |
【python】pandas & matplotlib 数据处理 绘制曲面图的更多相关文章
- python的matplotlib.pyplot绘制甘特图
博主本来就想简单地找一下代码,画一幅甘特图,结果百度之后发现甘特图的代码基本都不是用matplotlib库,但是像柱状图等统计图通常都是用这个库进行绘制的,所以博主就花了一些时间,自己敲了一份代码,简 ...
- python中matplotlib所绘制的图包含了很多的对象
上图中的top=‘off’意思是说顶部的grid lines 看不见. 去除frame,意思就是将这个矩形给去除掉,spine意思是脊柱 bars = plt.bar(pos, popularity, ...
- Python使用matplotlib模块绘制多条折线图、散点图
用matplotlib模块 #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:折线图.散点图测试 ''' import rando ...
- python 运用numpy库与matplotlib库绘制数据图
代码一 import numpy as np import matplotlib.pyplot as plt x=np.linspace(0,6,100) y=np.cos(2*np.pi*x)*np ...
- Python数据分析-Matplotlib图标绘制
Matplotlib介绍 Matplotlib是一个强大的Python绘图和数据可视化的工具包. Matplotlib的主要功能 Matplotlib是python中的一个包,主要用于绘制2D图形(当 ...
- python使用matplotlib:subplot绘制多个子图
1 问题描述 matploglib 能够绘制出精美的图表, 有些时候, 我们希望把一组图放在一起进行比较, 有没有什么好的方法呢? matplotlib 中提供的 subplot 可以很好的解决这个问 ...
- Python Pandas 时间序列双轴折线图
时间序列pv-gmv双轴折线图 import numpy as np import pandas as pd import matplotlib.pyplot as plt n = 12 date_s ...
- 使用matplotlib库绘制函数图
函数如下: z = x^2 * y / (x^4 +y^2) 代码如下: import numpy as np import matplotlib.pyplot as plt import mpl_t ...
- Python——Pandas 时间序列数据处理
介绍 Pandas 是非常著名的开源数据处理库,我们可以通过它完成对数据集进行快速读取.转换.过滤.分析等一系列操作.同样,Pandas 已经被证明为是非常强大的用于处理时间序列数据的工具.本节将介绍 ...
随机推荐
- hdu 1082, stack emulation, and how to remove redundancy 分类: hdoj 2015-07-16 02:24 86人阅读 评论(0) 收藏
use fgets, and remove the potential '\n' in the string's last postion. (main point) remove redundanc ...
- AngularJs的UI组件ui-Bootstrap分享(十三)——Progressbar
进度条控件有两种指令,第一种是uib-progressbar指令,表示单一颜色和进度的一个进度条.第二种是uib-bar和uib-progress指令,表示多种颜色和多个进度组合而成的一个进度条. 这 ...
- ie6下js更新元素display:block后,仍然不显示的hack办法
$hotGames.html(html).removeClass("hide").show();//代码执行到这里,在ie6下仍然无法正常显示 //只有执行了下边的两行代码后,才正 ...
- swift 闭包循环引用
当使用闭包时,类本身持有self,然后又在闭包中访问了self或者self的属性,就会导致恶心额循环引用.swift提供的解决方法是在闭包中定义捕获列表,捕获列表是闭包想怎么引用捕获来的变量.例如下面 ...
- iOS7下隐藏status bar的详细研究
info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于a ...
- asp.net C#获取程序文件相关信息
代码如下 复制代码 using System.Reflection;using System.Runtime.CompilerServices; //// 有关程序集的常规信息是通过下列// 属性集控 ...
- C++中explicit关键字的使用
看书看到了explicit关键字,就来做个笔记,讲得比较明白,比较浅. 在C++中,我们有时可以将构造函数用作自动类型转换函数.但这种自动特性并非总是合乎要求的,有时会导致意外的类型转换,因此,C++ ...
- Java 自定义注解
在spring的应用中,经常使用注解进行开发,这样有利于加快开发的速度. 介绍一下自定义注解: 首先,自定义注解要新建一个@interface,这个是一个注解的接口,在此接口上有这样几个注解: @Do ...
- install sun java in ubuntu
1. 下载: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 2. 解压安装: ...
- BZOJ 3594 方伯伯的玉米田
dp好想.bit的优化好想.还有细节: (1)从k->0,这样才不会被本身转移. (2)这个dp表示的是以i结尾的最长的长度,所以随时max. #include<iostream> ...