This is an old revision of the document!


Lab 06 - Advanced plotting (seaborn & pandas)

Objectives

  • Conditional plotting
  • Time-based data when plotting in gnuplot
  • Advanced plotting concepts: Histograms, animations, heatmaps, three-dimensional plots
  • Insertion of graphics in the .tex file

Tasks

01. [10p] Tutorial

  • Go through tutorials.

02. [10p] Conditional plotting

Datafile: conditional_plotting.txt.

Using Gnuplot, generate two separate bar graphs for the following:

  • calories_consumed/km-ran.
  • sugar_consumed/km-ran.
  • ratio = too high? colour the ticks in red : colour the ticks in green.

The ratio is considered to be high enough when $6/$4 > 1. This will help you spot the people who live less healthy. The graphs should be as complete as possible (title, axes names, etc.).

03. [10p] Stats

Datafile: health.txt

Use Gnuplot to generate the following graphs:

  • Using the 'stats' command, find out the mean and standard deviation value for the “Temperature” and “Heart Rate” columns.
  • Create a rectangle that contains all the data points considered to be in the average normal values (assume that the “normal” values should be in the interval [mean-stddev, mean+stddev]).
  • Create a multiplot containing 3 plots using the “Temperature” and “Heart Rate” columns: one for all genders, one for males and one for females.
  • The graphs should be as complete as possible (title, axes names, etc.)

04. [10p] Time-based data when plotting in gnuplot

Datafile: time_data.txt

Using the code provided in “Tutorial 03. Time-based data when plotting in gnuplot”, use the histogram style, and format the xtic labels using strftime and timecolumn.

set timefmt "%H:%S"
set style fill solid 0.6 border -1
set style data histogram
set style histogram clustered gap 1 plot 'data.dat' using 2:xtic(strftime('%H', timecolumn(1))), \ '' using ($2*0.5), \ '' using ($2*0.7)

05. [10p] Plot histograms

Datafile: histograms.txt

[5p] Task A - Multiple histograms

Using Gnuplot, create multiple histograms with 'set style histogram' and 'boxes'.

[5p] Task B - Bar graphs

Create a simple bar graph. Remember to make the lines solid.

  • Style your bars differently (set a different color for every bar).
  • Do multiple bars for each entry.
  • Use a function to pick the colors you want. Remember to set width and fill.

06. [10p] Animations

Datafile: animations.txt

  • Create a script that animates a trajectory. Set a circle in the centre as a green filled circle.
  • Hint: Check the code from “Tutorial” and adjust.

07. [20p] Heatmaps

Datafile: heatmaps.txt

[10p] Task A - With image/pm3d/dgrid3d

Using Gnuplot, create heatmaps using:

  • “with image”
  • “pm3d/dgrid3d” and “splot”

[10p] Task B - Interpolation

Create heatmap WITHOUT interpolation;

  • As default, pm3d uses a color map which varies from black to yellow via blue and red. Change the pallete!
  • Double the number of visible points.
  • Question: Have Gnuplot choose the correct number of interpolation points by itself.

08. [20p] Latex

Datafile: heat_map_data.txt

[10p] Task A - 2D maps

Use Gnuplot to create three 2D maps in a single 3D graph. Export the result as a .pdf file (using gnuplottex package) and include also a \caption{Describe how you did the exercise}. Hint: You have to give the splot command 4 pieces of information: the x, y, and the z coordinate,and the value for the color.

set view 55,110
splot "heat_map_data.txt" matrix  u 1:2:(-0.5):3 w image, \
      "" matrix u 1:(-0.5):2:3 w image, \
      "" matrix u (-0.5):1:2:3 w image

[5p] Task B - Generate pdf

Create myscript.tex and add the lines below. You should put in your 'begin{gnuplot}…end{gnuplot}' your solution for plotting. The main advantage for using gnuplottex is that you are allowed to use gnuplot directly inside the .tex file.

\documentclass[a4paper]{article}
\usepackage{gnuplottex}
 
\begin{document}
 
\begin{gnuplot}[terminal=pdf,terminaloptions={font ",10" linewidth 3}]
    plot sin(x), cos(x)
\end{gnuplot}
 
\begin{gnuplot}[scale=0.8]
    set grid
    set title 'gnuplottex test $e^x$'
    set ylabel '$y$'
    set xlabel '$x$'
    plot exp(x) with linespoints
\end{gnuplot}
 
\end{document}

[5p] Task C - Compile

Compile it! Your final result should look like this: myscript.pdf.

#compile with
pdflatex --shell-escape myscript.tex

Observations: If gnuplottex is missing, here is gnuplottex.sty

09. [10p] Feedback

ep/labs/061.1605692998.txt.gz · Last modified: 2020/11/18 11:49 by ioan_adrian.cosma
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0