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

Install Skript 1.0

parent 784f9b90
No related branches found
No related tags found
2 merge requests!4Python driver and data analysis part,!2Threading fix
import os
import pandas as pd
class DataFrameCreator:
def __init__(self, f_path):
self.folder_path = f_path
def create_dataframes(self):
dfs = {}
for root, _, files in os.walk(self.folder_path):
for filename in files:
if filename.endswith('.dat'):
file_path = os.path.join(root, filename)
dataframe_name = os.path.splitext(filename)[0]
dataframe_type = dataframe_name.split('-')[1]
dataframe = pd.read_csv(file_path, delimiter=" ", header=0)
if dataframe_type in dfs:
inner_dict = dfs[dataframe_type]
if dataframe_name in inner_dict:
# DataFrame hinzufügen
inner_dict[dataframe_name] = pd.concat([inner_dict[dataframe_name], dataframe])
else:
inner_dict[dataframe_name] = dataframe
else:
dfs[dataframe_type] = {
dataframe_name: dataframe
}
merged_dfs = {}
for outer_key in dfs:
merged_dataframe = pd.concat(dfs[outer_key].values(), keys=dfs[outer_key].keys())
merged_dataframe_sorted = merged_dataframe.sort_index()
merged_dfs[outer_key] = merged_dataframe_sorted
return merged_dfs
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
class SeabornPlotter:
def __init__(self, dataframe):
self.dataframe = dataframe
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)]
f, ax = plt.subplots(figsize=(16, 20))
sns.scatterplot(x=x, y=y, s=5, color=".15", 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')
plt.tight_layout()
plt.show()
import datetime
class DataConvert:
@staticmethod
def convert_unix(timestamp):
return datetime.datetime.fromtimestamp(timestamp)
\ No newline at end of file
import os
import numpy as np
import pandas as pd
import datetime
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
from SeabornPlotter import SeabornPlotter
from DataFrameCreator import DataFrameCreator
matplotlib.use('TkAgg')
# --------------Main------------
folder_path = '/home/user/C++/detectorwritesim/output'
creator = DataFrameCreator(folder_path)
dataframes = creator.create_dataframes()
plotter = SeabornPlotter(dataframes['write'])
# Plot erstellen
plotter.plot()
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
import os
from setuptools import setup from setuptools import setup
setup( setup(
name='controller', name='controller',
version='1.0', version='1.0',
description='Controller zur steuerung einer Detektor Sim',
author='Michael Reuscher',
packages=['controller'], packages=['controller'],
install_requires=[ install_requires=[
'numpy', 'numpy',
'pandas', 'pandas',
'seaborn',
'matplotlib', 'matplotlib',
'seaborn'
], ],
entry_points={ entry_points={
'console_scripts': [ 'console_scripts': [
'controller = controller.main:main' 'mein_programm=controller.main:main'
] ]
} }
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment