Released version 6.1.3
This commit is contained in:
commit
a94503cb82
1885 changed files with 276310 additions and 0 deletions
21
examples/friedberg/friedberg.pro
Normal file
21
examples/friedberg/friedberg.pro
Normal file
|
@ -0,0 +1,21 @@
|
|||
################################################################
|
||||
# Qwt Widget Library
|
||||
# Copyright (C) 1997 Josef Wilgen
|
||||
# Copyright (C) 2002 Uwe Rathmann
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the Qwt License, Version 1.0
|
||||
################################################################
|
||||
|
||||
include( $${PWD}/../examples.pri )
|
||||
|
||||
TARGET = friedberg
|
||||
|
||||
HEADERS = \
|
||||
plot.h \
|
||||
friedberg2007.h
|
||||
|
||||
SOURCES = \
|
||||
friedberg2007.cpp \
|
||||
plot.cpp \
|
||||
main.cpp
|
384
examples/friedberg/friedberg2007.cpp
Normal file
384
examples/friedberg/friedberg2007.cpp
Normal file
|
@ -0,0 +1,384 @@
|
|||
#include "friedberg2007.h"
|
||||
|
||||
// Temperature 2007 from Friedberg somewhere in Germany
|
||||
// See: http://wetter61169.de
|
||||
|
||||
Temperature friedberg2007[] =
|
||||
{
|
||||
/* 01.01 */ Temperature( 2.6, 9.8, 7.07862 ),
|
||||
/* 02.01 */ Temperature( 0.8, 5.8, 3.6993 ),
|
||||
/* 03.01 */ Temperature( 2, 7, 5.02388 ),
|
||||
/* 04.01 */ Temperature( 5.3, 7.8, 6.37778 ),
|
||||
/* 05.01 */ Temperature( 5.6, 7.7, 6.83149 ),
|
||||
/* 06.01 */ Temperature( 7.2, 8.9, 8.0816 ),
|
||||
/* 07.01 */ Temperature( 4.2, 9.9, 7.54704 ),
|
||||
/* 08.01 */ Temperature( 3.5, 8.9, 6.71951 ),
|
||||
/* 09.01 */ Temperature( 8.2, 12.9, 10.8594 ),
|
||||
/* 10.01 */ Temperature( 6.3, 11.9, 9.76424 ),
|
||||
/* 11.01 */ Temperature( 3.9, 9.2, 6.18223 ),
|
||||
/* 12.01 */ Temperature( 6.9, 9.7, 8.44236 ),
|
||||
/* 13.01 */ Temperature( 9, 12.3, 10.6649 ),
|
||||
/* 14.01 */ Temperature( 1.8, 10.8, 7.23438 ),
|
||||
/* 15.01 */ Temperature( -2.8, 1.8, -0.518403 ),
|
||||
/* 16.01 */ Temperature( -0.6, 4.5, 2.39479 ),
|
||||
/* 17.01 */ Temperature( 4.3, 10.2, 7.23472 ),
|
||||
/* 18.01 */ Temperature( 9.1, 13.6, 10.9316 ),
|
||||
/* 19.01 */ Temperature( 6.9, 12.4, 9.4128 ),
|
||||
/* 20.01 */ Temperature( 7.1, 13.3, 10.5083 ),
|
||||
/* 21.01 */ Temperature( 3.5, 9.6, 6.10871 ),
|
||||
/* 22.01 */ Temperature( -1.8, 6, 2.89028 ),
|
||||
/* 23.01 */ Temperature( -5.4, 1.7, -2.46678 ),
|
||||
/* 24.01 */ Temperature( -5.3, -1.3, -3.71483 ),
|
||||
/* 25.01 */ Temperature( -7.5, 3.3, -3.36736 ),
|
||||
/* 26.01 */ Temperature( -11.1, 0.3, -5.50662 ),
|
||||
/* 27.01 */ Temperature( 0.2, 3.2, 1.95345 ),
|
||||
/* 28.01 */ Temperature( 1.9, 5.2, 3.43633 ),
|
||||
/* 29.01 */ Temperature( 4.4, 9.1, 6.24236 ),
|
||||
/* 30.01 */ Temperature( 2.3, 11.5, 6.03114 ),
|
||||
/* 31.01 */ Temperature( 4.6, 10.2, 6.04192 ),
|
||||
|
||||
/* 01.02 */ Temperature( 4.8, 13.8, 7.87674 ),
|
||||
/* 02.02 */ Temperature( 5.7, 10, 7.28646 ),
|
||||
/* 03.02 */ Temperature( 2.9, 8.2, 5.71771 ),
|
||||
/* 04.02 */ Temperature( -1.5, 7.2, 4.71319 ),
|
||||
/* 05.02 */ Temperature( -2.6, 4.4, 1.23542 ),
|
||||
/* 06.02 */ Temperature( 0.3, 9.2, 2.59965 ),
|
||||
/* 07.02 */ Temperature( -0.4, 2.4, 0.641667 ),
|
||||
/* 08.02 */ Temperature( -1.7, 3.8, 0.811458 ),
|
||||
/* 09.02 */ Temperature( 0.7, 7, 3.58328 ),
|
||||
/* 10.02 */ Temperature( 1, 6, 3.51181 ),
|
||||
/* 11.02 */ Temperature( 4.7, 9.6, 6.14913 ),
|
||||
/* 12.02 */ Temperature( 5.3, 8.7, 6.80552 ),
|
||||
/* 13.02 */ Temperature( 4.4, 10.3, 6.84552 ),
|
||||
/* 14.02 */ Temperature( 2.6, 6.5, 4.58681 ),
|
||||
/* 15.02 */ Temperature( -0.8, 13.4, 6.38542 ),
|
||||
/* 16.02 */ Temperature( -3, 14.4, 4.11336 ),
|
||||
/* 17.02 */ Temperature( 0.5, 13, 5.87457 ),
|
||||
/* 18.02 */ Temperature( -2.2, 14.1, 4.36528 ),
|
||||
/* 19.02 */ Temperature( 3.9, 5.6, 4.63737 ),
|
||||
/* 20.02 */ Temperature( -0.4, 9.2, 4.37014 ),
|
||||
/* 21.02 */ Temperature( -1.9, 5.5, 1.85675 ),
|
||||
/* 22.02 */ Temperature( 1, 13.1, 5.41176 ),
|
||||
/* 23.02 */ Temperature( 1.9, 13.9, 7.74251 ),
|
||||
/* 24.02 */ Temperature( 3.8, 9.6, 7.19306 ),
|
||||
/* 25.02 */ Temperature( 5.8, 10.8, 7.80312 ),
|
||||
/* 26.02 */ Temperature( 5.2, 10.4, 6.79481 ),
|
||||
/* 27.02 */ Temperature( 3.2, 7.4, 5.22986 ),
|
||||
/* 28.02 */ Temperature( 6.4, 13.4, 9.13356 ),
|
||||
|
||||
/* 01.03 */ Temperature( 4.6, 11.4, 7.70554 ),
|
||||
/* 02.03 */ Temperature( 3.4, 10.9, 5.98408 ),
|
||||
/* 03.03 */ Temperature( 2.9, 10.5, 5.45675 ),
|
||||
/* 04.03 */ Temperature( -0.7, 16.8, 7.29585 ),
|
||||
/* 05.03 */ Temperature( 4.2, 13.4, 8.35862 ),
|
||||
/* 06.03 */ Temperature( 3, 13, 7.76644 ),
|
||||
/* 07.03 */ Temperature( 2, 13.3, 8.24618 ),
|
||||
/* 08.03 */ Temperature( -0.8, 15, 6.11765 ),
|
||||
/* 09.03 */ Temperature( -0.7, 11, 5.7568 ),
|
||||
/* 10.03 */ Temperature( 1.2, 14.4, 6.61389 ),
|
||||
/* 11.03 */ Temperature( -1.7, 18, 6.66146 ),
|
||||
/* 12.03 */ Temperature( -0.6, 21.9, 8.9816 ),
|
||||
/* 13.03 */ Temperature( -0.9, 19.6, 9.08299 ),
|
||||
/* 14.03 */ Temperature( 5.3, 18.9, 10.5562 ),
|
||||
/* 15.03 */ Temperature( 2, 20.5, 9.65156 ),
|
||||
/* 16.03 */ Temperature( 0.2, 16.7, 7.8699 ),
|
||||
/* 17.03 */ Temperature( 4.5, 10.6, 7.87535 ),
|
||||
/* 18.03 */ Temperature( 2.7, 9.7, 6.71806 ),
|
||||
/* 19.03 */ Temperature( 0.4, 10.9, 3.92404 ),
|
||||
/* 20.03 */ Temperature( -2, 12.7, 4.01359 ),
|
||||
/* 21.03 */ Temperature( 0.3, 6.8, 3.00382 ),
|
||||
/* 22.03 */ Temperature( 0.9, 4.2, 2.2816 ),
|
||||
/* 23.03 */ Temperature( 2, 5.7, 3.39233 ),
|
||||
/* 24.03 */ Temperature( 3.9, 9.3, 6.41076 ),
|
||||
/* 25.03 */ Temperature( 4.2, 19.1, 9.92182 ),
|
||||
/* 26.03 */ Temperature( 2.3, 22, 12.5716 ),
|
||||
/* 27.03 */ Temperature( 4.9, 20.6, 13.4568 ),
|
||||
/* 28.03 */ Temperature( 0.3, 22.8, 10.755 ),
|
||||
/* 29.03 */ Temperature( 1.8, 17.2, 9.43924 ),
|
||||
/* 30.03 */ Temperature( 1.9, 19.8, 10.25 ),
|
||||
/* 31.03 */ Temperature( 6.7, 17, 11.1324 ),
|
||||
|
||||
/* 01.04 */ Temperature( 5.7, 22, 12.8457 ),
|
||||
/* 02.04 */ Temperature( 6.4, 22.1, 13.3847 ),
|
||||
/* 03.04 */ Temperature( 5.8, 17.5, 10.5614 ),
|
||||
/* 04.04 */ Temperature( 2.8, 16.2, 8.06574 ),
|
||||
/* 05.04 */ Temperature( -0.6, 20.8, 9.18062 ),
|
||||
/* 06.04 */ Temperature( 2.1, 24, 13.0069 ),
|
||||
/* 07.04 */ Temperature( 5.3, 16.2, 10.2771 ),
|
||||
/* 08.04 */ Temperature( 0.1, 20.7, 9.79861 ),
|
||||
/* 09.04 */ Temperature( 0.3, 18.9, 10.0087 ),
|
||||
/* 10.04 */ Temperature( 4, 16.4, 11.4208 ),
|
||||
/* 11.04 */ Temperature( 2.3, 23.4, 13.083 ),
|
||||
/* 12.04 */ Temperature( 7, 29.4, 16.5826 ),
|
||||
/* 13.04 */ Temperature( 10.6, 31.5, 19.2249 ),
|
||||
/* 14.04 */ Temperature( 11.8, 34, 21.441 ),
|
||||
/* 15.04 */ Temperature( 11.6, 33.8, 21.0201 ),
|
||||
/* 16.04 */ Temperature( 8.7, 31.1, 18.7885 ),
|
||||
/* 17.04 */ Temperature( 5.5, 27.2, 16.1432 ),
|
||||
/* 18.04 */ Temperature( 6.1, 17.2, 10.6688 ),
|
||||
/* 19.04 */ Temperature( -0.6, 21.3, 10.4806 ),
|
||||
/* 20.04 */ Temperature( 5.9, 21.6, 12.6257 ),
|
||||
/* 21.04 */ Temperature( 2.1, 21.6, 11.0858 ),
|
||||
/* 22.04 */ Temperature( 3.9, 25.9, 14.2108 ),
|
||||
/* 23.04 */ Temperature( 3.1, 27.8, 15.7111 ),
|
||||
/* 24.04 */ Temperature( 13.7, 29, 19.6397 ),
|
||||
/* 25.04 */ Temperature( 9.8, 31.6, 19.601 ),
|
||||
/* 26.04 */ Temperature( 8.2, 32.4, 20.0389 ),
|
||||
/* 27.04 */ Temperature( 11.8, 32.1, 21.0726 ),
|
||||
/* 28.04 */ Temperature( 12.6, 33.3, 21.6993 ),
|
||||
/* 29.04 */ Temperature( 10.5, 27.4, 19.1206 ),
|
||||
/* 30.04 */ Temperature( 5.3, 26.4, 15.0972 ),
|
||||
|
||||
/* 01.05 */ Temperature( 6.9, 25.3, 15.2802 ),
|
||||
/* 02.05 */ Temperature( 4.3, 26.2, 14.8401 ),
|
||||
/* 03.05 */ Temperature( 7.1, 28.5, 17.2145 ),
|
||||
/* 04.05 */ Temperature( 11, 28.5, 18.537 ),
|
||||
/* 05.05 */ Temperature( 12, 28, 18.1672 ),
|
||||
/* 06.05 */ Temperature( 10.4, 29, 18.3844 ),
|
||||
/* 07.05 */ Temperature( 13, 18.1, 15.0028 ),
|
||||
/* 08.05 */ Temperature( 10.7, 18.3, 13.2014 ),
|
||||
/* 09.05 */ Temperature( 10.8, 14.4, 12.5208 ),
|
||||
/* 10.05 */ Temperature( 11.9, 23.5, 16.9632 ),
|
||||
/* 11.05 */ Temperature( 9.8, 16.9, 15.0795 ),
|
||||
/* 12.05 */ Temperature( 9.2, 19.6, 13.8521 ),
|
||||
/* 13.05 */ Temperature( 8.9, 26.3, 16.2028 ),
|
||||
/* 14.05 */ Temperature( 11.1, 17.5, 13.2934 ),
|
||||
/* 15.05 */ Temperature( 6.5, 17, 11.7743 ),
|
||||
/* 16.05 */ Temperature( 4.9, 13.6, 9.75625 ),
|
||||
/* 17.05 */ Temperature( 6.8, 16.6, 9.96701 ),
|
||||
/* 18.05 */ Temperature( 2.4, 21.2, 11.4311 ),
|
||||
/* 19.05 */ Temperature( 8.2, 24.4, 15.4188 ),
|
||||
/* 20.05 */ Temperature( 14.1, 31.7, 21.3303 ),
|
||||
/* 21.05 */ Temperature( 11, 30.9, 21.5359 ),
|
||||
/* 22.05 */ Temperature( 13.8, 31, 21.5177 ),
|
||||
/* 23.05 */ Temperature( 16, 27.8, 21.0271 ),
|
||||
/* 24.05 */ Temperature( 15, 34, 23.4142 ),
|
||||
/* 25.05 */ Temperature( 14.3, 31.8, 22.8903 ),
|
||||
/* 26.05 */ Temperature( 13.6, 33.1, 22.6156 ),
|
||||
/* 27.05 */ Temperature( 11.2, 23.4, 16.6192 ),
|
||||
/* 28.05 */ Temperature( 9.6, 13.1, 11.3222 ),
|
||||
/* 29.05 */ Temperature( 8.3, 11.2, 10.3529 ),
|
||||
/* 30.05 */ Temperature( 4.2, 20.8, 12.6218 ),
|
||||
/* 31.05 */ Temperature( 9.2, 23.6, 15.1073 ),
|
||||
|
||||
/* 01.06 */ Temperature( 10.8, 24.4, 16.3205 ),
|
||||
/* 02.06 */ Temperature( 13, 26.5, 18.9649 ),
|
||||
/* 03.06 */ Temperature( 14, 25.1, 18.5398 ),
|
||||
/* 04.06 */ Temperature( 13, 28, 20.2139 ),
|
||||
/* 05.06 */ Temperature( 14, 28.8, 20.438 ),
|
||||
/* 06.06 */ Temperature( 14, 30.4, 21.7821 ),
|
||||
/* 07.06 */ Temperature( 17, 34.8, 25.3087 ),
|
||||
/* 08.06 */ Temperature( 17.9, 35.7, 25.7872 ),
|
||||
/* 09.06 */ Temperature( 17.8, 31.6, 22.0788 ),
|
||||
/* 10.06 */ Temperature( 15.5, 33.4, 22.4458 ),
|
||||
/* 11.06 */ Temperature( 16.6, 28.3, 19.8797 ),
|
||||
/* 12.06 */ Temperature( 14, 27.3, 20.2566 ),
|
||||
/* 13.06 */ Temperature( 13.2, 28.2, 19.4233 ),
|
||||
/* 14.06 */ Temperature( 12.7, 30, 20.1427 ),
|
||||
/* 15.06 */ Temperature( 15.2, 22.6, 18.5917 ),
|
||||
/* 16.06 */ Temperature( 13.2, 24, 17.7014 ),
|
||||
/* 17.06 */ Temperature( 11.7, 27.9, 19.8229 ),
|
||||
/* 18.06 */ Temperature( 15.9, 27.2, 20.3358 ),
|
||||
/* 19.06 */ Temperature( 12.6, 33.7, 22.2427 ),
|
||||
/* 20.06 */ Temperature( 15.7, 30.8, 23.7507 ),
|
||||
/* 21.06 */ Temperature( 14.8, 22.6, 18.2538 ),
|
||||
/* 22.06 */ Temperature( 12.4, 21.3, 15.9969 ),
|
||||
/* 23.06 */ Temperature( 12.6, 21.6, 15.8149 ),
|
||||
/* 24.06 */ Temperature( 13, 26, 18.4176 ),
|
||||
/* 25.06 */ Temperature( 12.9, 24.4, 17.1299 ),
|
||||
/* 26.06 */ Temperature( 10.8, 18.8, 13.2913 ),
|
||||
/* 27.06 */ Temperature( 9.9, 18.8, 13.5465 ),
|
||||
/* 28.06 */ Temperature( 12, 19.8, 14.8434 ),
|
||||
/* 29.06 */ Temperature( 12, 19, 15.155 ),
|
||||
/* 30.06 */ Temperature( 12.4, 22.4, 17.1354 ),
|
||||
|
||||
/* 01.07 */ Temperature( 12.1, 24.9, 19.1639 ),
|
||||
/* 02.07 */ Temperature( 15.7, 24.3, 18.4554 ),
|
||||
/* 03.07 */ Temperature( 12.7, 17.2, 14.6564 ),
|
||||
/* 04.07 */ Temperature( 11.2, 19, 13.9529 ),
|
||||
/* 05.07 */ Temperature( 11.5, 19, 14.6422 ),
|
||||
/* 06.07 */ Temperature( 12.4, 22, 16.6146 ),
|
||||
/* 07.07 */ Temperature( 11.6, 24, 17.666 ),
|
||||
/* 08.07 */ Temperature( 9, 28, 19.1351 ),
|
||||
/* 09.07 */ Temperature( 11.3, 21.5, 16.5271 ),
|
||||
/* 10.07 */ Temperature( 11.3, 20.2, 14.2326 ),
|
||||
/* 11.07 */ Temperature( 10.2, 19.2, 14.0649 ),
|
||||
/* 12.07 */ Temperature( 13.2, 23.1, 16.6346 ),
|
||||
/* 13.07 */ Temperature( 15, 27, 19.6844 ),
|
||||
/* 14.07 */ Temperature( 13.4, 32.4, 23.845 ),
|
||||
/* 15.07 */ Temperature( 15, 38.2, 26.8559 ),
|
||||
/* 16.07 */ Temperature( 16.1, 36.5, 26.4483 ),
|
||||
/* 17.07 */ Temperature( 19.7, 30.5, 24.189 ),
|
||||
/* 18.07 */ Temperature( 14.2, 29.3, 22.1363 ),
|
||||
/* 19.07 */ Temperature( 16.4, 25.9, 19.0819 ),
|
||||
/* 20.07 */ Temperature( 16.2, 30.8, 22.151 ),
|
||||
/* 21.07 */ Temperature( 14, 24.3, 18.6573 ),
|
||||
/* 22.07 */ Temperature( 13.2, 24.5, 18.3301 ),
|
||||
/* 23.07 */ Temperature( 10.6, 23.4, 16.6903 ),
|
||||
/* 24.07 */ Temperature( 13.2, 20.8, 16.2743 ),
|
||||
/* 25.07 */ Temperature( 12.2, 25.8, 18.8267 ),
|
||||
/* 26.07 */ Temperature( 11.9, 28.9, 20.5522 ),
|
||||
/* 27.07 */ Temperature( 17.6, 25.8, 21.5691 ),
|
||||
/* 28.07 */ Temperature( 16.6, 24.6, 19.2295 ),
|
||||
/* 29.07 */ Temperature( 13, 19, 15.9021 ),
|
||||
/* 30.07 */ Temperature( 9.6, 19.7, 13.875 ),
|
||||
/* 31.07 */ Temperature( 8, 22, 14.5284 ),
|
||||
|
||||
/* 01.08 */ Temperature( 7.6, 27.5, 17.5684 ),
|
||||
/* 02.08 */ Temperature( 9.2, 22.2, 16.1035 ),
|
||||
/* 03.08 */ Temperature( 12.7, 25.3, 18.2958 ),
|
||||
/* 04.08 */ Temperature( 8.6, 31.3, 19.7941 ),
|
||||
/* 05.08 */ Temperature( 10.3, 32.7, 21.492 ),
|
||||
/* 06.08 */ Temperature( 10, 33.4, 22.4431 ),
|
||||
/* 07.08 */ Temperature( 16.8, 22.6, 19.5583 ),
|
||||
/* 08.08 */ Temperature( 13.5, 16.7, 15.0264 ),
|
||||
/* 09.08 */ Temperature( 13.2, 18.8, 15.6003 ),
|
||||
/* 10.08 */ Temperature( 14.6, 27.9, 18.8292 ),
|
||||
/* 11.08 */ Temperature( 16.3, 26.4, 20.3837 ),
|
||||
/* 12.08 */ Temperature( 12.1, 28.7, 19.9892 ),
|
||||
/* 13.08 */ Temperature( 15, 27.4, 19.7542 ),
|
||||
/* 14.08 */ Temperature( 11.3, 28.3, 20.5656 ),
|
||||
/* 15.08 */ Temperature( 18.6, 28.4, 23.1215 ),
|
||||
/* 16.08 */ Temperature( 16, 23.6, 19.491 ),
|
||||
/* 17.08 */ Temperature( 12.6, 22, 17.0437 ),
|
||||
/* 18.08 */ Temperature( 8.5, 25.7, 16.5589 ),
|
||||
/* 19.08 */ Temperature( 13.4, 25.8, 18.0543 ),
|
||||
/* 20.08 */ Temperature( 10.9, 21.5, 16.1306 ),
|
||||
/* 21.08 */ Temperature( 10.6, 19.2, 14.6177 ),
|
||||
/* 22.08 */ Temperature( 14, 24.6, 17.3841 ),
|
||||
/* 23.08 */ Temperature( 13.8, 30.4, 20.6125 ),
|
||||
/* 24.08 */ Temperature( 12.3, 30.3, 20.7622 ),
|
||||
/* 25.08 */ Temperature( 12.8, 30.2, 21.6736 ),
|
||||
/* 26.08 */ Temperature( 15, 29.3, 21.266 ),
|
||||
/* 27.08 */ Temperature( 12.9, 25.9, 18.791 ),
|
||||
/* 28.08 */ Temperature( 9.3, 24.6, 16.2833 ),
|
||||
/* 29.08 */ Temperature( 10.8, 25, 16.8459 ),
|
||||
/* 30.08 */ Temperature( 8.2, 24.4, 15.9267 ),
|
||||
/* 31.08 */ Temperature( 14.1, 20.5, 16.6128 ),
|
||||
|
||||
/* 01.09 */ Temperature( 13.4, 21.9, 16.2205 ),
|
||||
/* 02.09 */ Temperature( 12, 20.7, 16.0882 ),
|
||||
/* 03.09 */ Temperature( 10.8, 21.3, 14.7913 ),
|
||||
/* 04.09 */ Temperature( 7.8, 18.2, 12.2747 ),
|
||||
/* 05.09 */ Temperature( 8.1, 22.2, 12.9406 ),
|
||||
/* 06.09 */ Temperature( 10, 23.8, 13.8785 ),
|
||||
/* 07.09 */ Temperature( 10.7, 21.2, 15.4823 ),
|
||||
/* 08.09 */ Temperature( 12.4, 21, 15.8194 ),
|
||||
/* 09.09 */ Temperature( 12.7, 16.9, 14.7212 ),
|
||||
/* 10.09 */ Temperature( 10.3, 17.7, 12.9271 ),
|
||||
/* 11.09 */ Temperature( 10.6, 20.8, 14.4788 ),
|
||||
/* 12.09 */ Temperature( 10.8, 21.9, 15.0184 ),
|
||||
/* 13.09 */ Temperature( 6.9, 24.6, 14.5222 ),
|
||||
/* 14.09 */ Temperature( 8.1, 24, 15.6583 ),
|
||||
/* 15.09 */ Temperature( 8.8, 22.8, 15.941 ),
|
||||
/* 16.09 */ Temperature( 3.1, 24.5, 14.1486 ),
|
||||
/* 17.09 */ Temperature( 12.4, 21.2, 16.0497 ),
|
||||
/* 18.09 */ Temperature( 7.8, 16.1, 12.024 ),
|
||||
/* 19.09 */ Temperature( 5.3, 18.1, 10.3003 ),
|
||||
/* 20.09 */ Temperature( 6.4, 20.3, 12.3177 ),
|
||||
/* 21.09 */ Temperature( 6, 23.8, 13.6247 ),
|
||||
/* 22.09 */ Temperature( 5.7, 27, 14.6847 ),
|
||||
/* 23.09 */ Temperature( 7.8, 28, 16.6238 ),
|
||||
/* 24.09 */ Temperature( 9.6, 24.9, 16.7191 ),
|
||||
/* 25.09 */ Temperature( 8.4, 17.6, 12.636 ),
|
||||
/* 26.09 */ Temperature( 4.3, 18.9, 10.0809 ),
|
||||
/* 27.09 */ Temperature( 9.4, 11.2, 10.3344 ),
|
||||
/* 28.09 */ Temperature( 7.7, 12.6, 10.5337 ),
|
||||
/* 29.09 */ Temperature( 9.8, 15.3, 11.9306 ),
|
||||
/* 30.09 */ Temperature( 9.6, 21.1, 13.6635 ),
|
||||
|
||||
/* 01.10 */ Temperature( 8.9, 24.5, 14.8163 ),
|
||||
/* 02.10 */ Temperature( 13.5, 20.2, 16.1628 ),
|
||||
/* 03.10 */ Temperature( 12.5, 18, 15.4691 ),
|
||||
/* 04.10 */ Temperature( 13.8, 25, 17.2073 ),
|
||||
/* 05.10 */ Temperature( 9.1, 23.2, 14.6181 ),
|
||||
/* 06.10 */ Temperature( 6.4, 23.4, 12.8625 ),
|
||||
/* 07.10 */ Temperature( 4.6, 22.1, 11.0052 ),
|
||||
/* 08.10 */ Temperature( 2, 22.2, 10.1677 ),
|
||||
/* 09.10 */ Temperature( 7.8, 21.6, 12.2139 ),
|
||||
/* 10.10 */ Temperature( 7.1, 22.7, 13.0115 ),
|
||||
/* 11.10 */ Temperature( 6.1, 21.2, 11.4333 ),
|
||||
/* 12.10 */ Temperature( 4.3, 15.2, 10.6104 ),
|
||||
/* 13.10 */ Temperature( 5.8, 23, 12.8875 ),
|
||||
/* 14.10 */ Temperature( 1, 23, 9.72986 ),
|
||||
/* 15.10 */ Temperature( 1, 19.3, 9.33021 ),
|
||||
/* 16.10 */ Temperature( 8.5, 20.4, 13.2639 ),
|
||||
/* 17.10 */ Temperature( 6.8, 17.3, 11.8174 ),
|
||||
/* 18.10 */ Temperature( 5.2, 15.6, 9.06076 ),
|
||||
/* 19.10 */ Temperature( 2.7, 13.5, 7.1309 ),
|
||||
/* 20.10 */ Temperature( -0.2, 15.8, 6.01667 ),
|
||||
/* 21.10 */ Temperature( 2.6, 6.1, 4.9441 ),
|
||||
/* 22.10 */ Temperature( -0.8, 13.2, 4.50694 ),
|
||||
/* 23.10 */ Temperature( -0.4, 13.3, 4.71007 ),
|
||||
/* 24.10 */ Temperature( 2.9, 8.1, 5.96979 ),
|
||||
/* 25.10 */ Temperature( 6.3, 10.5, 8.01206 ),
|
||||
/* 26.10 */ Temperature( 7, 10.8, 8.14965 ),
|
||||
/* 27.10 */ Temperature( 6.6, 9.7, 7.7809 ),
|
||||
/* 28.10 */ Temperature( 1.7, 10.8, 6.95728 ),
|
||||
/* 29.10 */ Temperature( 2.2, 9.9, 6.62917 ),
|
||||
/* 30.10 */ Temperature( 5.8, 15, 8.76181 ),
|
||||
/* 31.10 */ Temperature( 0.7, 15, 6.01528 ),
|
||||
|
||||
/* 01.11 */ Temperature( -0.2, 9.7, 3.75842 ),
|
||||
/* 02.11 */ Temperature( 6.4, 9.6, 8.00138 ),
|
||||
/* 03.11 */ Temperature( 8.7, 13.1, 10.5676 ),
|
||||
/* 04.11 */ Temperature( 8, 11.8, 9.54306 ),
|
||||
/* 05.11 */ Temperature( 5.8, 15.9, 8.52345 ),
|
||||
/* 06.11 */ Temperature( 5.5, 10.8, 7.16493 ),
|
||||
/* 07.11 */ Temperature( 5.5, 8.9, 7.30172 ),
|
||||
/* 08.11 */ Temperature( 7, 11.7, 8.96701 ),
|
||||
/* 09.11 */ Temperature( 2.5, 8.4, 4.86528 ),
|
||||
/* 10.11 */ Temperature( 3.7, 9, 5.20828 ),
|
||||
/* 11.11 */ Temperature( 2.8, 10.6, 6.80756 ),
|
||||
/* 12.11 */ Temperature( 2.7, 9.5, 5.07647 ),
|
||||
/* 13.11 */ Temperature( 0.1, 5.4, 3.3945 ),
|
||||
/* 14.11 */ Temperature( -0.7, 7.9, 2.02234 ),
|
||||
/* 15.11 */ Temperature( -1.8, 6.5, 1.07778 ),
|
||||
/* 16.11 */ Temperature( -4.4, 5.1, -0.693772 ),
|
||||
/* 17.11 */ Temperature( -0.3, 3.4, 1.33229 ),
|
||||
/* 18.11 */ Temperature( -0.4, 4.3, 2.4622 ),
|
||||
/* 19.11 */ Temperature( 1.8, 3.6, 2.78282 ),
|
||||
/* 20.11 */ Temperature( 1.3, 5.6, 2.95979 ),
|
||||
/* 21.11 */ Temperature( 1.6, 5.7, 3.62284 ),
|
||||
/* 22.11 */ Temperature( 3.1, 7.3, 5.60277 ),
|
||||
/* 23.11 */ Temperature( 4.2, 7.7, 6.28166 ),
|
||||
/* 24.11 */ Temperature( -0.5, 11.5, 3.25931 ),
|
||||
/* 25.11 */ Temperature( -1, 8.8, 2.86505 ),
|
||||
/* 26.11 */ Temperature( 1.2, 6.8, 3.09414 ),
|
||||
/* 27.11 */ Temperature( -0.8, 7.5, 3.17805 ),
|
||||
/* 28.11 */ Temperature( -2.8, 3.1, -0.920139 ),
|
||||
/* 29.11 */ Temperature( -2.6, 1.7, -0.491696 ),
|
||||
/* 30.11 */ Temperature( 1.3, 6.5, 3.85 ),
|
||||
|
||||
/* 01.12 */ Temperature( 4.1, 8.7, 5.88924 ),
|
||||
/* 02.12 */ Temperature( 4.8, 9, 6.81667 ),
|
||||
/* 03.12 */ Temperature( 3.5, 8.5, 6.23633 ),
|
||||
/* 04.12 */ Temperature( 2.7, 6.6, 4.63045 ),
|
||||
/* 05.12 */ Temperature( 4.3, 8.6, 6.85993 ),
|
||||
/* 06.12 */ Temperature( 5.5, 9.3, 7.79201 ),
|
||||
/* 07.12 */ Temperature( 3.1, 13.4, 8.79444 ),
|
||||
/* 08.12 */ Temperature( 2.6, 6.3, 4.67093 ),
|
||||
/* 09.12 */ Temperature( 3, 10.4, 5.75724 ),
|
||||
/* 10.12 */ Temperature( 4.1, 6.8, 5.31834 ),
|
||||
/* 11.12 */ Temperature( 4.1, 7.4, 5.28993 ),
|
||||
/* 12.12 */ Temperature( 3.9, 6.4, 4.64479 ),
|
||||
/* 13.12 */ Temperature( 1.7, 9.1, 4.15363 ),
|
||||
/* 14.12 */ Temperature( 0.4, 1.8, 0.934602 ),
|
||||
/* 15.12 */ Temperature( -4.5, 2.1, -1.17292 ),
|
||||
/* 16.12 */ Temperature( -5, 4.8, -2.17431 ),
|
||||
/* 17.12 */ Temperature( -5.6, 6.1, -1.35448 ),
|
||||
/* 18.12 */ Temperature( -4.9, 6.4, -1.25502 ),
|
||||
/* 19.12 */ Temperature( -4.4, 6.6, -1.02396 ),
|
||||
/* 20.12 */ Temperature( -7.3, 5.2, -2.63854 ),
|
||||
/* 21.12 */ Temperature( -8.5, 5.7, -3.58333 ),
|
||||
/* 22.12 */ Temperature( -7.9, -5.3, -6.13438 ),
|
||||
/* 23.12 */ Temperature( -6.1, -4.4, -5.23472 ),
|
||||
/* 24.12 */ Temperature( -4.6, -3.3, -3.84291 ),
|
||||
/* 25.12 */ Temperature( -4.9, -2.8, -3.9066 ),
|
||||
/* 26.12 */ Temperature( -4.7, -1.9, -3.10379 ),
|
||||
/* 27.12 */ Temperature( -1.9, -0.2, -0.679791 ),
|
||||
/* 28.12 */ Temperature( -1.8, 0.5, -0.521875 ),
|
||||
/* 29.12 */ Temperature( -2.2, 2.3, -0.430796 ),
|
||||
/* 30.12 */ Temperature( 0.9, 5.2, 2.83437 ),
|
||||
/* 31.12 */ Temperature( -1, 8.3, 2.27093 )
|
||||
};
|
28
examples/friedberg/friedberg2007.h
Normal file
28
examples/friedberg/friedberg2007.h
Normal file
|
@ -0,0 +1,28 @@
|
|||
#ifndef _FRIEDBERG_2007_H_
|
||||
#define _FRIEDBERG_2007_H_
|
||||
|
||||
class Temperature
|
||||
{
|
||||
public:
|
||||
Temperature():
|
||||
minValue( 0.0 ),
|
||||
maxValue( 0.0 ),
|
||||
averageValue( 0.0 )
|
||||
{
|
||||
}
|
||||
|
||||
Temperature( double min, double max, double average ):
|
||||
minValue( min ),
|
||||
maxValue( max ),
|
||||
averageValue( average )
|
||||
{
|
||||
}
|
||||
|
||||
double minValue;
|
||||
double maxValue;
|
||||
double averageValue;
|
||||
};
|
||||
|
||||
extern Temperature friedberg2007[];
|
||||
|
||||
#endif
|
55
examples/friedberg/main.cpp
Normal file
55
examples/friedberg/main.cpp
Normal file
|
@ -0,0 +1,55 @@
|
|||
#include <qapplication.h>
|
||||
#include <qmainwindow.h>
|
||||
#include <qcombobox.h>
|
||||
#include <qtoolbar.h>
|
||||
#include <qtoolbutton.h>
|
||||
#include "plot.h"
|
||||
|
||||
class MainWindow: public QMainWindow
|
||||
{
|
||||
public:
|
||||
MainWindow( QWidget * = NULL );
|
||||
|
||||
private:
|
||||
Plot *d_plot;
|
||||
};
|
||||
|
||||
MainWindow::MainWindow( QWidget *parent ):
|
||||
QMainWindow( parent )
|
||||
{
|
||||
d_plot = new Plot( this );
|
||||
setCentralWidget( d_plot );
|
||||
|
||||
QToolBar *toolBar = new QToolBar( this );
|
||||
|
||||
QComboBox *typeBox = new QComboBox( toolBar );
|
||||
typeBox->addItem( "Bars" );
|
||||
typeBox->addItem( "Tube" );
|
||||
typeBox->setCurrentIndex( 1 );
|
||||
typeBox->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
|
||||
|
||||
QToolButton *btnExport = new QToolButton( toolBar );
|
||||
btnExport->setText( "Export" );
|
||||
btnExport->setToolButtonStyle( Qt::ToolButtonTextUnderIcon );
|
||||
connect( btnExport, SIGNAL( clicked() ), d_plot, SLOT( exportPlot() ) );
|
||||
|
||||
toolBar->addWidget( typeBox );
|
||||
toolBar->addWidget( btnExport );
|
||||
addToolBar( toolBar );
|
||||
|
||||
d_plot->setMode( typeBox->currentIndex() );
|
||||
connect( typeBox, SIGNAL( currentIndexChanged( int ) ),
|
||||
d_plot, SLOT( setMode( int ) ) );
|
||||
}
|
||||
|
||||
int main( int argc, char **argv )
|
||||
{
|
||||
QApplication a( argc, argv );
|
||||
|
||||
MainWindow w;
|
||||
w.setObjectName( "MainWindow" );
|
||||
w.resize( 600, 400 );
|
||||
w.show();
|
||||
|
||||
return a.exec();
|
||||
}
|
209
examples/friedberg/plot.cpp
Normal file
209
examples/friedberg/plot.cpp
Normal file
|
@ -0,0 +1,209 @@
|
|||
#include "plot.h"
|
||||
#include "friedberg2007.h"
|
||||
#include <qwt_plot_zoomer.h>
|
||||
#include <qwt_plot_panner.h>
|
||||
#include <qwt_plot_marker.h>
|
||||
#include <qwt_plot_grid.h>
|
||||
#include <qwt_plot_curve.h>
|
||||
#include <qwt_plot_canvas.h>
|
||||
#include <qwt_plot_intervalcurve.h>
|
||||
#include <qwt_legend.h>
|
||||
#include <qwt_interval_symbol.h>
|
||||
#include <qwt_symbol.h>
|
||||
#include <qwt_series_data.h>
|
||||
#include <qwt_text.h>
|
||||
#include <qwt_scale_draw.h>
|
||||
#include <qwt_plot_renderer.h>
|
||||
#include <qdatetime.h>
|
||||
|
||||
class Grid: public QwtPlotGrid
|
||||
{
|
||||
public:
|
||||
Grid()
|
||||
{
|
||||
enableXMin( true );
|
||||
setMajorPen( Qt::white, 0, Qt::DotLine );
|
||||
setMinorPen( Qt::gray, 0, Qt::DotLine );
|
||||
}
|
||||
|
||||
virtual void updateScaleDiv( const QwtScaleDiv &xScaleDiv,
|
||||
const QwtScaleDiv &yScaleDiv )
|
||||
{
|
||||
QwtScaleDiv scaleDiv( xScaleDiv.lowerBound(),
|
||||
xScaleDiv.upperBound() );
|
||||
|
||||
scaleDiv.setTicks( QwtScaleDiv::MinorTick,
|
||||
xScaleDiv.ticks( QwtScaleDiv::MinorTick ) );
|
||||
scaleDiv.setTicks( QwtScaleDiv::MajorTick,
|
||||
xScaleDiv.ticks( QwtScaleDiv::MediumTick ) );
|
||||
|
||||
QwtPlotGrid::updateScaleDiv( scaleDiv, yScaleDiv );
|
||||
}
|
||||
};
|
||||
|
||||
class YearScaleDraw: public QwtScaleDraw
|
||||
{
|
||||
public:
|
||||
YearScaleDraw()
|
||||
{
|
||||
setTickLength( QwtScaleDiv::MajorTick, 0 );
|
||||
setTickLength( QwtScaleDiv::MinorTick, 0 );
|
||||
setTickLength( QwtScaleDiv::MediumTick, 6 );
|
||||
|
||||
setLabelRotation( -60.0 );
|
||||
setLabelAlignment( Qt::AlignLeft | Qt::AlignVCenter );
|
||||
|
||||
setSpacing( 15 );
|
||||
}
|
||||
|
||||
virtual QwtText label( double value ) const
|
||||
{
|
||||
return QDate::longMonthName( int( value / 30 ) + 1 );
|
||||
}
|
||||
};
|
||||
|
||||
Plot::Plot( QWidget *parent ):
|
||||
QwtPlot( parent )
|
||||
{
|
||||
setObjectName( "FriedbergPlot" );
|
||||
setTitle( "Temperature of Friedberg/Germany" );
|
||||
|
||||
setAxisTitle( QwtPlot::xBottom, "2007" );
|
||||
setAxisScaleDiv( QwtPlot::xBottom, yearScaleDiv() );
|
||||
setAxisScaleDraw( QwtPlot::xBottom, new YearScaleDraw() );
|
||||
|
||||
setAxisTitle( QwtPlot::yLeft,
|
||||
QString( "Temperature [%1C]" ).arg( QChar( 0x00B0 ) ) );
|
||||
|
||||
QwtPlotCanvas *canvas = new QwtPlotCanvas();
|
||||
canvas->setPalette( Qt::darkGray );
|
||||
canvas->setBorderRadius( 10 );
|
||||
|
||||
setCanvas( canvas );
|
||||
|
||||
// grid
|
||||
QwtPlotGrid *grid = new Grid;
|
||||
grid->attach( this );
|
||||
|
||||
insertLegend( new QwtLegend(), QwtPlot::RightLegend );
|
||||
|
||||
const int numDays = 365;
|
||||
QVector<QPointF> averageData( numDays );
|
||||
QVector<QwtIntervalSample> rangeData( numDays );
|
||||
|
||||
for ( int i = 0; i < numDays; i++ )
|
||||
{
|
||||
const Temperature &t = friedberg2007[i];
|
||||
averageData[i] = QPointF( double( i ), t.averageValue );
|
||||
rangeData[i] = QwtIntervalSample( double( i ),
|
||||
QwtInterval( t.minValue, t.maxValue ) );
|
||||
}
|
||||
|
||||
insertCurve( "Average", averageData, Qt::black );
|
||||
insertErrorBars( "Range", rangeData, Qt::blue );
|
||||
|
||||
// LeftButton for the zooming
|
||||
// MidButton for the panning
|
||||
// RightButton: zoom out by 1
|
||||
// Ctrl+RighButton: zoom out to full size
|
||||
|
||||
QwtPlotZoomer* zoomer = new QwtPlotZoomer( canvas );
|
||||
zoomer->setRubberBandPen( QColor( Qt::black ) );
|
||||
zoomer->setTrackerPen( QColor( Qt::black ) );
|
||||
zoomer->setMousePattern( QwtEventPattern::MouseSelect2,
|
||||
Qt::RightButton, Qt::ControlModifier );
|
||||
zoomer->setMousePattern( QwtEventPattern::MouseSelect3,
|
||||
Qt::RightButton );
|
||||
|
||||
QwtPlotPanner *panner = new QwtPlotPanner( canvas );
|
||||
panner->setMouseButton( Qt::MidButton );
|
||||
}
|
||||
|
||||
QwtScaleDiv Plot::yearScaleDiv() const
|
||||
{
|
||||
const int days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
|
||||
|
||||
QList<double> mediumTicks;
|
||||
mediumTicks += 0.0;
|
||||
for ( uint i = 0; i < sizeof( days ) / sizeof( days[0] ); i++ )
|
||||
mediumTicks += mediumTicks.last() + days[i];
|
||||
|
||||
QList<double> minorTicks;
|
||||
for ( int i = 1; i <= 365; i += 7 )
|
||||
minorTicks += i;
|
||||
|
||||
QList<double> majorTicks;
|
||||
for ( int i = 0; i < 12; i++ )
|
||||
majorTicks += i * 30 + 15;
|
||||
|
||||
QwtScaleDiv scaleDiv( mediumTicks.first(), mediumTicks.last() + 1,
|
||||
minorTicks, mediumTicks, majorTicks );
|
||||
return scaleDiv;
|
||||
}
|
||||
|
||||
void Plot::insertCurve( const QString& title,
|
||||
const QVector<QPointF>& samples, const QColor &color )
|
||||
{
|
||||
d_curve = new QwtPlotCurve( title );
|
||||
d_curve->setRenderHint( QwtPlotItem::RenderAntialiased );
|
||||
d_curve->setStyle( QwtPlotCurve::NoCurve );
|
||||
d_curve->setLegendAttribute( QwtPlotCurve::LegendShowSymbol );
|
||||
|
||||
QwtSymbol *symbol = new QwtSymbol( QwtSymbol::XCross );
|
||||
symbol->setSize( 4 );
|
||||
symbol->setPen( color );
|
||||
d_curve->setSymbol( symbol );
|
||||
|
||||
d_curve->setSamples( samples );
|
||||
d_curve->attach( this );
|
||||
}
|
||||
|
||||
void Plot::insertErrorBars(
|
||||
const QString &title,
|
||||
const QVector<QwtIntervalSample>& samples,
|
||||
const QColor &color )
|
||||
{
|
||||
d_intervalCurve = new QwtPlotIntervalCurve( title );
|
||||
d_intervalCurve->setRenderHint( QwtPlotItem::RenderAntialiased );
|
||||
d_intervalCurve->setPen( Qt::white );
|
||||
|
||||
QColor bg( color );
|
||||
bg.setAlpha( 150 );
|
||||
d_intervalCurve->setBrush( QBrush( bg ) );
|
||||
d_intervalCurve->setStyle( QwtPlotIntervalCurve::Tube );
|
||||
|
||||
d_intervalCurve->setSamples( samples );
|
||||
d_intervalCurve->attach( this );
|
||||
}
|
||||
|
||||
void Plot::setMode( int style )
|
||||
{
|
||||
if ( style == Tube )
|
||||
{
|
||||
d_intervalCurve->setStyle( QwtPlotIntervalCurve::Tube );
|
||||
d_intervalCurve->setSymbol( NULL );
|
||||
d_intervalCurve->setRenderHint( QwtPlotItem::RenderAntialiased, true );
|
||||
}
|
||||
else
|
||||
{
|
||||
d_intervalCurve->setStyle( QwtPlotIntervalCurve::NoCurve );
|
||||
|
||||
QColor c( d_intervalCurve->brush().color().rgb() ); // skip alpha
|
||||
|
||||
QwtIntervalSymbol *errorBar =
|
||||
new QwtIntervalSymbol( QwtIntervalSymbol::Bar );
|
||||
errorBar->setWidth( 8 ); // should be something even
|
||||
errorBar->setPen( c );
|
||||
|
||||
d_intervalCurve->setSymbol( errorBar );
|
||||
d_intervalCurve->setRenderHint( QwtPlotItem::RenderAntialiased, false );
|
||||
}
|
||||
|
||||
replot();
|
||||
}
|
||||
|
||||
void Plot::exportPlot()
|
||||
{
|
||||
QwtPlotRenderer renderer;
|
||||
renderer.exportTo( this, "friedberg.pdf" );
|
||||
}
|
43
examples/friedberg/plot.h
Normal file
43
examples/friedberg/plot.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
#ifndef _PLOT_H_
|
||||
#define _PLOT_H_
|
||||
|
||||
#include <qwt_plot.h>
|
||||
#include <qwt_scale_div.h>
|
||||
#include <qwt_series_data.h>
|
||||
|
||||
class QwtPlotCurve;
|
||||
class QwtPlotIntervalCurve;
|
||||
|
||||
class Plot: public QwtPlot
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum Mode
|
||||
{
|
||||
Bars,
|
||||
Tube
|
||||
};
|
||||
|
||||
Plot( QWidget * = NULL );
|
||||
|
||||
public Q_SLOTS:
|
||||
void setMode( int );
|
||||
void exportPlot();
|
||||
|
||||
private:
|
||||
void insertCurve( const QString &title,
|
||||
const QVector<QPointF> &, const QColor & );
|
||||
|
||||
void insertErrorBars( const QString &title,
|
||||
const QVector<QwtIntervalSample> &,
|
||||
const QColor &color );
|
||||
|
||||
|
||||
QwtScaleDiv yearScaleDiv() const;
|
||||
|
||||
QwtPlotIntervalCurve *d_intervalCurve;
|
||||
QwtPlotCurve *d_curve;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue