当前位置:   article > 正文

Veusz教程(1)——导入数据

veusz

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
...
  • 1
  • 2
  • 3
  • 4
  • 5

注意: 每列数据是空格空开的,如果原来的数据是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
...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

这两种数据格式都可以使用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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

CSV数据

仍以前面的例子为例:

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

注意:导入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')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这里构建了40x30大小的二维数据,下面我们导入这个csv文件,对话框中选择2D
在这里插入图片描述
如果这样直接导入会报错:

Error importing datasets:
 Could not convert data to 2D matrix
  • 1
  • 2

问题出现在没有勾选Grid points at edges ,重新设置
在这里插入图片描述
从结果可以看出已经是二维的了
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/796870
推荐阅读
相关标签
  

闽ICP备14008679号