Gnuplot绘图入门2 快捷方式

news2024/12/22 14:30:59

Gnuplot绘图入门2——根据多列文本数据绘制图形

Gnuplot绘图入门1以绘制sin(x)的函数图形为例,对Gnuplot进行了简要介绍。这个教程将介绍如何使用Gnuplot对保存在文本文件(.txt、.dat文件)中的数据进行可视化。

将下面的数据复制下了,保存到文本文件中,并命名为myData.dat以供后续使用。

  # x              y                 error
  0.000000000      8.52344856E-02    160.000000    
  0.322214633      0.315360963       160.000000    
  0.644429266      0.660322666       160.000000    
  0.966643929      0.810025394       160.000000    
   1.28885853      0.895393252       160.000000    
   1.61107314       1.07085896       160.000000    
   1.93328786       1.16645670       160.000000    
   2.25550246      0.890256882       160.000000    
   2.57771707      0.467355251       160.000000    
   2.89993167      0.335340381       160.000000    
   3.22214627      -4.83360216E-02   160.000000    
   3.54436088     -0.234565780       160.000000    
   3.86657572     -0.573700428       160.000000    
   4.18879032     -0.930545390       160.000000    
   4.51100492      -1.04824042       160.000000    
   4.83321953     -0.968299508       160.000000    
   5.15543413     -0.829686761       160.000000    
   5.47764874     -0.713711143       160.000000    
   5.79986334     -0.537595809       160.000000    
   6.12207794     -0.256095201       160.000000    
   6.44429255      0.227042556       160.000000    
   6.76650715      0.379589826       160.000000    
   7.08872175      0.726616621       160.000000    
   7.41093636      0.922940135       160.000000    
   7.73315144      0.934689820       160.000000    
   8.05536556      0.938522339       160.000000    
   8.37758064      0.751247168       160.000000    
   8.69979477      0.695001900       160.000000    
   9.02200985      0.440352410       160.000000    
   9.34422398      0.115799539       160.000000    
   9.66643906     -0.290482402       160.000000    
   9.98865318     -0.574512541       160.000000    
   10.3108683     -0.716142476       160.000000    
   10.6330833     -0.979006410       160.000000    
   10.9552975     -0.952903807       160.000000    
   11.2775126     -0.896204770       160.000000    
   11.5997267     -0.819699407       160.000000    
   11.9219418     -0.601184964       160.000000    
   12.2441559     -0.320398450       160.000000    
   12.5663710      8.72830823E-02    160.000000    

先绘制前两列数据。打开Gnuplot,输入

plot "myData.dat" linetype 7 linecolor -1

在这里插入图片描述

“linetype”表示线型,“7”是线型编号,输入文本数据(这里是“myData.dat”)对应红色点线,输入函数名称(如“sin(x)”对应红色实线,可以简写为lt,“linecolor”表示颜色可以简写为lc,颜色编号-1对应黑色,编号7表示红色。对于多列数据,plot命令默认使用前两列绘制图形。绘制的结果如下

在这里插入图片描述

这个x和y的关系很像正弦函数,接下来绘制在图上绘制正弦函数,命令如下:

plot "myData.dat" title "My Data" lt 7 lc -1, sin(x) lc 7 title "Model"

在这里插入图片描述

plot一幅图中绘制多个图形时,用英文逗号隔开每个图形的设置语句就可以绘制多组数据了。

接下来,设置x坐标范围、x和y轴的标签,命令如下:

set xrange [-1:13]  # 设置x坐标范围
set xlabel "t/s"    # 设置x轴标签
set ylabel "Water level in meters"  # 设置y轴标签
replot  # 应用设置

在这里插入图片描述

下面将上图保存为png格式,分别输入如下命令

set terminal png size 800,600  # 将terminal类型改为png,使用“size 800,600”设置图片大小
set output "dataImg.png"  # 设置图片名称
replot  # 将图像保存在dataImg.png中

在这里插入图片描述

得到的dataImg.png如下

在这里插入图片描述

下面开始绘制误差条。先将terminal类型改为原本默认的类型qt(windows默认的好像是wxt),然后使用三列数据绘制误差条。

set terminal qt
replot

plot "myData.dat" using 1:2:($3/1000) title "My Data" lt 7 lc -1 with errorbars, sin(x) lc 7 title "Model"

“using 1:2:($3/1000)”表示使用第1、2和3列的数据绘制误差条,绘制前先将第三列数据除以1000,绘制结果如下

。如果将“using 1:2:($3/1000)”换成“using 1:2:3”,则第三列数据使用原始数据绘图。

在这里插入图片描述

这里给出绘制误差条并保持为png图片的完整程序脚本

set term png size 800,600  # 为了导出png格式图片,设置终端类型为pngcairo(可以简写为png)
set output "b.png" # 绘图后导出名为a.png的图片,这一行和上面一行都要放在plot之前

set xrange [-1:13]  # 设置x坐标范围
set xlabel "t/s"    # 设置x轴标签
set ylabel "Water level in meters"  # 设置y轴标签

plot "myData.dat" using 1:2:($3/1000) title "My Data" lt 7 lc -1 with errorbars, sin(x) lc 7 title "Model" #使用第1、2和3列的数据绘制误差条,绘制前先将第三列数据除以1000


将以上程序保存为b.plt,在命令行运行gnuplot b.plt,就可以得到本文最后绘制的误差条图。

注意,需要在系统终端中运行gnuplot b.plt,而非gnuplot的终端中运行。
在这里插入图片描述

参考

  1. Gnuplot教程1: 基本的绘图技巧,误差条,png输出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/450867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux安装Nginx,源码安装及创建软连接

前言 Nginx是一个功能强大、高性能、可扩展、易用和安全的Web服务器和反向代理服务器,被广泛应用于企业级和互联网领域 可扩展性:Nginx可以通过添加各种模块和插件来扩展其功能,包括HTTP流控制、SSL加密、压缩和解压缩、访问控制等。 高可靠…

项目设计:迷宫游戏设计day3

一、界面制作 我用的easyx实现图形化界面,在制作第一个界面的时候,第一个界面的功能有开始游戏,退出游戏,排行榜(虽然还没实现) 那么首先还是得用一个图片贴在上面,这个图片是我自己画的&#…

20230419 生物基础学习- 氨基酸-密码子-突变

文章目录 名称形状密码子-氨基酸对应表简明中文英文和简称突变类型生物化学课程笔记特殊氨基酸的性质缬氨酸和甲硫氨酸 染色体 - RNA - 蛋白质 名称 Phenylalanine,Leucine,Isoleucine,Methionine,Valine,Serine,Proline,Threonine,Alanine,Tyrosine,Histidine,Glutamine,Aspa…

「 计算机网络 」HTTP和RPC的区别与联系

「 计算机网络 」HTTP和RPC的区别与联系 参考&鸣谢 HTTP 和 RPC 的区别 小十七_ Http协议和Rpc协议有什么区别? 俗人杂念 为什么要自研RPC框架?HTTP和RPC的区别 starine 既然有HTTP协议,为什么还要有RPC 小白debug 文章目录 「 计算机网络…

工装识别工装检测系统 yolov7

工装识别工装检测系统通过yolov7python网络模型算法智能分析技术,工装识别工装检测系统对现场人员是否穿戴的进行实时分析,发现现场画面人员未按要求着装,系统会自动抓拍发出警报并讲违规图片视频保存下来,同步回传后台提醒监理人…

uniapp调用七牛云api实现文件上传-node.js向外提供uploadToken的接口-客户端不用下载七牛云的包和SDK-发起网络请求直接上传

uniapp调用七牛云api实现文件上传 实现思路: 1.使用node.js向客户端提供uploadToken,客户端获取uploadToken后使用七牛云的api接口发起网络请求,上传文件; node.js向外提供uploadToken的接口-客户端不用下载七牛云的包和SDK-&…

macOS电脑

UNIX操作系统有一个规范,名叫《单一UNIX规范》(Single UNIX Specification)。凡是符合这个规范的操作系统都可以叫UNIX操作系统,并且可以通过UNIX官方认证。 UNIX商标认证官网是:The Register of UNIX Certified Prod…

flink动态表的概念详解

目录 前言🚩 动态表和持续不断查询 stream转化成表 连续查询 查询限制 表转化为流 前言🚩 传统的数据库SQL和实时SQL处理的差别还是很大的,这里简单列出一些区别: 尽管存在这些差异,但使用关系查询和SQL处理流并…

界面控件Telerik UI for WinForms使用指南 - 数据绑定 填充(一)

Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件,所有的UI for WinForms控件都具有完整的主题支持,可以轻松地帮助开发人员在桌面和平板电脑应用程序提供一致美观的下一代用户体验。 Telerik UI for WinForms组件为可视化任何类…

RoBERTa 阅读笔记

RoBERTa 阅读笔记 https://arxiv.org/abs/1907.11692 总的来说,bert在模型上并没有做太多的改进,只是在训练数据和训练策略上进行了一个改进。 相较于BERT的改进 1. Masking策略 stastic: 原始 BERT 的 masking 是固定的,RoBERTa 给相同的…

ChatGPT: 智能对话时代的未来展望与应用实践

ChatGPT: 智能对话时代的未来展望与应用实践 简介 ChatGPT 是一种基于深度学习和自然语言处理技术的人工智能对话模型。它可以通过生成自然语言文本的方式,与用户进行交互式的对话。作为一种先进的对话生成模型,ChatGPT 在近年来快速发展的人工智能领域中…

首次发刊!Coremail管理员社区2023年Q1季刊发布

4月21日,Coremail安全邮件城市沙龙在北京正式开展,此次沙龙活动的主题为“践行教育信创,护航邮件安全”。广东盈世计算机科技有限公司服务副总裁、ICANN UA大使吴秀诚在活动上正式发布《Coremail管理员社区2023年Q1季刊》。 Coremail管理员社…

公网远程访问公司内网象过河ERP系统「内网穿透」

文章目录 概述1.查看象过河服务端端口2.内网穿透3. 异地公网连接4. 固定公网地址4.1 保留一个固定TCP地址4.2 配置固定TCP地址 5. 使用固定地址连接 概述 ERP系统对于企业来说重要性不言而喻,不管是财务、生产、销售还是采购,都需要用到ERP系统来协助。…

基于spring+vue开发的音乐网站

摘要 随着科学技术的飞速发展,社会的各个领域都在努力与现代的先进技术接轨,以提高自身的优势。音乐推荐管理也不能排除在外。音乐推荐管理是一个管理系统,以实际运用为开发背景,采用JSP技术构建,使用软件工程开发方法…

《面试1v1》java注解

我是 javapub,一名 Markdown 程序员从👨‍💻,八股文种子选手。 面试官:接下来,聊聊Java的注解,它们到底有什么用? 候选人: 注解的用处主要三个: 第一个,编译期使用。比如Override确保你正确重…

activeMQ持久化报错的问题

activeMQ持久化,启动activeMQ报错, INFO | Using Persistence Adapter: JDBCPersistenceAdapter(org.apache.commons.dbcp2.BasicDataSource5148e82a) jvm 1 | WARN | Could not get JDBC connection: Cannot create PoolableConnectionFactory (Commun…

matlab点云的可视化-源码复制粘贴即可(一)

一、导入并可视化一个无属性的点云 clc; clear; close; % clear everything% Import a point cloud from a plain text file (run type(Lion.xyz) to see the contents of the file) pc pointCloud(Lion.xyz);% Generate a z-colored view of the point cloud pc.plot;% Set …

加密解密软件VMProtect入门使用教程(二):分析、破解和保护软件

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

Vue ElementUI Axios 前后端案例(day03) 之 Axios

前置知识 AJAX 前置知识 答疑 问:我们是否可以这么理解,发送url请求就是服务器之间建立连接,tcp三次握手之后 其中与服务器进行数据交换:通过AJAX可以给服务器发送请求 就是连接建立以后 我们发送我们的浏览器数据 就是所谓的…

家用洗地机有什么优缺点?入门级家用洗地机

家用清洁产品近几年发展迅猛,扫拖机器人、洗地机等热门品类更是在家电产品销量普遍下滑的趋势下,仍然保持着大幅增长。越来越多的消费者开始关注清洁类产品,但扫拖机器人和吸尘器的清洁效果有限,洗地机会在功能上更加的完善&#…