赞
踩
Veusz相关博文:
(1)Veusz教程(1)——导入数据
(2)Veusz教程(2)——创建数据集
(3)Veusz教程(3)——源码编译
(4)Veusz教程(4)——文本标注
Veusz是依靠优秀的开源免费科学绘图软件,与Origin功能相似,3.0版本开始已经支持绘制三维图,导出格式支持svg,emf等矢量图格式,以及常规的jpg,png格式。先说一下其他几个类似origin的免费软件:
1)QtiPlot:试用版只有20分钟使用时间
2)SciDavis:类似QtiPlot,功能较少
QtiPlot和SciDavis都很像Origin,但是笔者并不觉得这是优点,主要是绘图不够方便,接触了Veusz之后才发现绘图原来可以这么方便!距离一下简单例子:
1)切片控制绘图范围。比如有数据x,y,数据长度为10000,我们只想绘制其中的一部分,例如从100-300,那么在x数据使用切片x[100:300]即可完成,无须对y操作,因为Veusz是使用Python开发的,还使用了numpy库,功能还是很强大的;
2)LaTeX字符可以直接输入。我们的标签值很多时候需要希腊字符、数学公式等,可以直接在
Label输入;
3)方便控制默认图像格式。如字体、坐标轴等,字体已经默认为times new zone,大小也合适;
本博客主要介绍Veusz导入数据的功能。
主要介绍下面三种数据格式的导入:
(1)常规数据(空格间隔每列数据)
(2)CSV数据(逗号分隔文本文件)
(3)二维数据(含x,y两列数据)
通常我们处理实验数据的时候都需要拟合,假如我们有这样一组数据:
x, y_true, y_fit, err
x为横坐标,y_true为实验真值,y_fit为拟合值,err为拟合误差,误差种类分为symmetric和asymmetric(包括positive和negative)
(1)没有表头的数据具体例子如下:
1 1 1.800346741 0.800346741
2 2 2.986886845 0.986886845
3 3 3.664458003 0.664458003
4 4 4.918506782 0.918506782
...
注意: 每列数据是空格空开的,如果原来的数据是csv文件,那么可以通过文本编辑器的查找替换功能将逗号’,'替换为空格
(2)带有表头的数据格式如下:
x y_true y_fit err
1 1 1.800346741 0.800346741
2 2 2.986886845 0.986886845
3 3 3.664458003 0.664458003
4 4 4.918506782 0.918506782
5 5 5.533504617 0.533504617
6 6 6.494615196 0.494615196
...
这两种数据格式都可以使用veusz导入
对于含误差值的数据导入例子,下面给出官方例子,这里就不作翻译了。
Examples
x y x and y with no errors (2 columns for 2 datasets)
x,+- x with symmetric errors (2 columns for single dataset)
y + - y with asymmetric errors (3 columns for dataset)
x[1:5]+,- x_1 to x_5, each with asymmetric errors (15 columns in total)
x y +- x with no errors, y with symmetric errors (3 columns in total)
,x,y,-,+ skip first column, x with no errors, y followed by negative then postive error bars
仍以前面的例子为例:
注意:导入CSV文件无法合并误差数据,误差值会单独成一列数据,为了方便可以按照前面方法处理带有误差的数据,即先在其他文本编辑器将数据处理为空格间隔。
假设我们有由Python生成的二维数据:
from pylab import *
import pandas as ps
x,y = mgrid[-4:4:40j,-3:3:30j]
z=(1-x)**2+100*(y-x**2)**2
z = pd.DataFrame(z)
z.to_csv('D:/surfacedata.csv')
这里构建了40x30大小的二维数据,下面我们导入这个csv文件,对话框中选择2D
如果这样直接导入会报错:
Error importing datasets:
Could not convert data to 2D matrix
问题出现在没有勾选Grid points at edges
,重新设置
从结果可以看出已经是二维的了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。