Difference between revisions of "Visualization Tools"
Markumueller (talk | contribs) |
Markumueller (talk | contribs) |
||
Line 43: | Line 43: | ||
generate a Boxplot with the converted data. | generate a Boxplot with the converted data. | ||
− | import matplotlib.pyplot as plt | + | import matplotlib.pyplot as plt |
− | import numpy as np | + | import numpy as np |
− | f = open("my_file.txt", "r") | + | f = open("my_file.txt", "r") |
− | data = [] | + | data = [] |
− | + | ||
− | for line in f: | + | for line in f: |
data.append(float(line)) | data.append(float(line)) | ||
− | plt.boxplot(data) | + | plt.boxplot(data) |
− | plt.xlabel('my_x_value') | + | plt.xlabel('my_x_value') |
− | plt.ylabel('my_y_value') | + | plt.ylabel('my_y_value') |
− | plt.title('My Boxplot') | + | plt.title('My Boxplot') |
− | plt.show() | + | plt.show() |
Revision as of 09:15, 8 March 2019
Contents
Box plot
A box plot is a good way to depict results where measurements have been taken over another parameter, for example the fitness of several independent runs of an evolutionary algorithm over the number of generations.
Box plots with R
The statistic software R can be installed quickly, e.g., on Debian/Ubuntu Linux by "apt-get install r-base". The data must be given in a tab-seperated file, where each column comprises the measurements for one box.
x <- read.table("datafilename.tsv") postscript("outputfilename.ps") boxplot(x) dev.off()
The postscript command redirects the output to a postscript file. The last command flushes the output and closes the file.
Data manipulation with R
Sometimes it is necessary to postprocess data before plotting it.
x <- read.table("datafilename.tsv")
storing every nth column with n=3
y <- x[seq(1,ncol(x),3)]
storing every nth line with n=3, starting from first.
z <- x[(seq(1,nrow(x),3)), ]
Example script that selects every 6th column for data and plots it into a pdf file
y <- read.table("rboxplot.txt", col.names = seq(1,500,5), check.names=F) z <- y[(seq(1,nrow(y),6)), ] a <- z[seq(1,ncol(z),3)] pdf("boxplot_fitness.pdf") boxplot(a, xlab="Generation", ylab="Fitness") dev.off()
Box plots with Python
This simple code shows how to load data from a text file (one-dimensional array), convert in float values and generate a Boxplot with the converted data.
import matplotlib.pyplot as plt import numpy as np
f = open("my_file.txt", "r") data = [] for line in f: data.append(float(line))
plt.boxplot(data) plt.xlabel('my_x_value') plt.ylabel('my_y_value') plt.title('My Boxplot') plt.show()