Skip to content
Snippets Groups Projects
Commit 0edc1a04 authored by Michael Reuscher's avatar Michael Reuscher
Browse files

new plot savepoint

parent c1b69561
Branches
No related tags found
1 merge request!4Python driver and data analysis part
{
"data_set_1":{
"--posixDataDir": "fehler_test",
"-n": "15",
"-s": "2M",
"--posixDataDir": "protokoll",
"-n": "100",
"-s": "1M",
"-i": "0.1s",
"-N": "4"},
"data_set_2":{
"--posixDataDir": "protokoll",
"-q": "error test parameter",
"-n": "20",
"-s": "1M",
"-n": "100",
"-s": "2M",
"-i": "0.1s",
"-N": "4"},
"data_set_3":{
"--posixDataDir": "protokoll",
"-n": "5",
"-n": "100",
"-s": "3M",
"-i": "0.1s",
"-N": "4"},
"data_set_4":{
"--posixDataDir": "protokoll",
"-n": "10",
"-n": "100",
"-s": "4M",
"-i": "0.1s",
"-N": "4"},
"data_set_5":{
"--posixDataDir": "protokoll",
"-n": "10",
"-n": "100",
"-s": "5M",
"-i": "0.1s",
"-N": "4"},
"data_set_6":{
"--posixDataDir": "protokoll",
"-n": "100",
"-s": "6M",
"-i": "0.1s",
"-N": "4"},
"data_set_7":{
"--posixDataDir": "protokoll",
"-n": "100",
"-s": "8M",
"-i": "0.1s",
"-N": "4"},
"data_set_8":{
"--posixDataDir": "protokoll",
"-n": "100",
"-s": "16M",
"-i": "0.1s",
"-N": "4"},
"data_set_9":{
"--posixDataDir": "protokoll",
"-n": "100",
"-s": "7M",
"-i": "0.1s",
"-N": "4"},
"data_set_10":{
"--posixDataDir": "protokoll",
"-n": "100",
"-s": "9M",
"-i": "0.1s",
"-N": "4"},
"data_set_11":{
"--posixDataDir": "protokoll",
"-n": "100",
"-s": "12M",
"-i": "0.1s",
"-N": "4"}
}
\ No newline at end of file
......@@ -5,29 +5,29 @@ from scipy.stats import iqr
class SeabornPlotter:
def __init__(self, dataframe):
def __init__(self, dataframe, name):
self.dataframe = dataframe
self.name = name
self.current_plot = None
def plot(self):
df = self.dataframe
x = df['size']
y = df['duration']
x_start = df['size'].min() / 2
y_start = 0.001
x_end = df['size'].max() * 2
y_end = df['duration'].max()
x_num_points = 100
y_step = 0.001
x_bins = np.logspace(np.log10(x_start), np.log10(x_end), num=x_num_points).tolist()
y_bins = [y_start + (y_step * i) for i in range(int((y_end - y_start) / y_step) + 1)]
title = "Procedure: {}".format(self.name)
f, ax = plt.subplots(figsize=(16, 20))
sns.violinplot(x=x, y=y, s=5, color=".15", palette="light:b", inner="points", hue=list(self.dataframe.index.get_level_values(0)))
#sns.histplot(x=x, y=y, bins=[x_bins, y_bins], pthresh=.1, cmap="coolwarm")
#ax.set_xscale('log')
ax.set_yscale('log')
f, ax = plt.subplots(figsize=(16, 9))
sns.violinplot(x=x, y=y, s=5, color=".15", palette="light:b", inner="points",
hue=list(self.dataframe.index.get_level_values(0)))
if self.name == "dump" or self.name == "write" or self.name == "open" or self.name == "wait":
ax.set_yscale('symlog', linthresh=0.1)
else:
ax.set_yscale('log')
plt.tight_layout()
plt.title(title)
plt.xlabel("Size of written data in ms")
plt.ylabel("Duration")
plt.savefig(title)
plt.show()
......@@ -17,12 +17,15 @@ def main():
# Import Data
creator = DataFrameCreator(data_path)
dataframes = creator.create_dataframes()
for frame in dataframes.keys():
if not dataframes[frame].empty:
# Setup Plotter
frame_name = frame
# Setup Plotter
plotter = SeabornPlotter(dataframes['write'])
plotter = SeabornPlotter(dataframes[frame], frame_name)
# Plotter run
plotter.plot()
# Plotter run
plotter.plot()
if __name__ == "__main__":
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment