Home > Database > Mysql Tutorial > body text

时序图的绘制—使用Gnuplot

WBOY
Release: 2016-06-07 16:50:45
Original
1681 people have browsed it

时序图是常见的一种数据绘图,最典型的时序数据是天气数据,天气温度、湿度等都是随着时间变化的,本文给出一个例子是以LAMOST气

时序图是常见的一种数据绘图,最典型的时序数据是天气数据,天气温度、湿度等都是随着时间变化的,本文给出一个例子是以LAMOST气象站采集的一段时间数据,使用gnuplot绘出实时温湿度变化曲线。

天气数据:

time mjd temp rhum pres wind_avg wind_max wind_dir dewpoint 2008-12-14 18:02:00 78933242 -2.4 33 915.5 2.6 4.2 76 -16.46 2008-12-14 18:04:00 78933244 -2.3 33 915.6 2.8 4.6 75 -16.38 2008-12-14 18:06:00 78933246 -2.4 33 915.6 2.7 4.6 80 -16.46 2008-12-14 18:08:00 78933248 -2.4 33 915.6 2.7 5.2 75 -16.46 2008-12-14 18:10:00 78933250 -2.4 33 915.5 3.8 7.1 78 -16.46 2008-12-14 18:12:00 78933252 -2.3 33 915.6 3.3 6.4 76 -16.38 2008-12-14 18:14:00 78933254 -2.3 33 915.6 2.8 5.9 74 -16.38 2008-12-14 18:16:00 78933256 -2.3 33 915.5 3.5 8 74 -16.38 2008-12-14 18:18:00 78933258 -2.3 33 915.6 3.1 7.4 79 -16.38 2008-12-14 18:20:00 78933260 -2.3 33 915.7 2.8 5.9 74 -16.38 2008-12-14 18:22:00 78933262 -2.3 34 915.7 1.7 4 80 -16.02 2008-12-14 18:24:00 78933264 -2.4 34 915.7 2.6 4.1 76 -16.11 2008-12-14 18:26:00 78933266 -2.4 34 915.8 2.5 4 74 -16.11 2008-12-14 18:28:00 78933268 -2.3 33 915.8 2.7 3.7 75 -16.38 2008-12-14 18:30:00 78933270 -2.2 33 915.8 4.2 6.3 75 -16.29 2008-12-14 18:32:00 78933272 -2.1 33 915.9 2.9 5.6 77 -16.2 2008-12-14 18:34:00 78933274 -2.2 34 915.9 3.3 5.3 73 -15.93 2008-12-14 18:36:00 78933276 -2.2 34 915.9 3.3 4.9 75 -15.93 2008-12-14 18:38:00 78933278 -2.2 34 915.9 2.7 4.3 71 -15.93 2008-12-14 18:40:00 78933280 -2.2 34 915.9 4 5.6 73 -15.93 2008-12-14 18:42:00 78933282 -2.1 33 915.9 3.8 5.1 73 -16.2 2008-12-14 18:44:00 78933284 -2.1 33 915.9 3.6 5.4 73 -16.2 ...............

曲线图中需要有中文的内容,因此必须先指定中文字体,下面例子是方正黑体,字号11,绘出的图是png格式,,文件名w.png,图像大小1000x1000。

时序数据必须指定时间的格式,下面例子的格式是:

set timefmt "%Y-%m-%d %H:%M:%S"

更多的时间格式为:

格式说明

%d 日期:1-31

%m 月份:1-12

%y 年:0-99

%Y 年,四位数

%j 一年中的天数:1-365

%H 小时:0-23

%M 分钟:0-59

%s UNIX时间

%S 秒:0-59

%b 三个字母的月份缩写

%B 月份名称

程序如下:

set terminal png font './font/fzht.ttf,11' size 1000,1000 set output "w.png" set multiplot layout 2, 1 title "LAMOST 天气信息" # set size ratio 0.4 set title "LAMOST 天气信息 - 温度 露点温度 相对湿度图" font './font/fzht.ttf,13' set xdata time set xlabel "\n时间" set ylabel "温度 / 露点温度 (C)" set timefmt "%Y-%m-%d %H:%M:%S" set grid #set yrange [-3:6] set y2label "相对湿度 (%)" set y2tics plot 'w.dat' using 1:4 with line title "温度", \ 'w.dat' using 1:10 with line title "露点温度", \ 'w.dat' using 1:5 axes x1y2 with line title "相对湿度" # set title "LAMOST 天气信息 - 风速 大气压图" font './font/fzht.ttf,13' set xdata time set xlabel "\n时间" set ylabel "风速 (m/s)" set timefmt "%Y-%m-%d %H:%M:%S" set grid #set nokey set y2label "大气压 (hPa)" set y2tics plot 'w.dat' using 1:8 with line title "瞬时最大风速", \ 'w.dat' using 1:7 with line title "平均风速", \ 'w.dat' using 1:6 axes x1y2 with line title "大气压"

程序名称demo.gp,运行程序:

gnuplot demo.gp

效果图

本文永久更新链接地址:

linux

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!