46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
import seaborn as sns
|
|
import pandas as pd
|
|
import os
|
|
from utility import visualization
|
|
|
|
|
|
def plot_results():
|
|
graph_names = {"96.3.965": "n=96, k=48 - 965",
|
|
"204.3.486": "n=204, k=102 - 486",
|
|
"204.55.187": "n=204, k=102 - 187",
|
|
"408.33.844": "n=408, k=204 - 844",
|
|
"816.1A4.845": "n=816, k=272 - 843",
|
|
"999.111.3.5543": "n=999, k=888 - 5543",
|
|
"999.111.3.5565": "n=999, k=888 - 5565",
|
|
"PEGReg252x504": "n=504, k=252 - PEGReg"}
|
|
|
|
line_labels = {"BER_ML": "ML",
|
|
"BER_prox_0_15": "$\gamma = 0.15$",
|
|
"BER_prox_0_05": "$\gamma = 0.05$",
|
|
"BER_prox_0_01": "$\gamma = 0.01$"}
|
|
|
|
# Read data from files
|
|
results_dir = "sim_results"
|
|
|
|
data = {}
|
|
for file in os.listdir(results_dir):
|
|
if file.endswith(".csv"):
|
|
filename = os.path.splitext(file)[0]
|
|
|
|
df = pd.read_csv(os.path.join(results_dir, file))
|
|
df = df.loc[:, ~df.columns.str.contains('^Unnamed')]
|
|
data[graph_names[filename]] = df
|
|
|
|
# Create and show graphs
|
|
|
|
sns.set_theme()
|
|
fig = visualization.show_BER_curves("Bit-Error-Rates of proximal decoder for different codes",
|
|
data, num_cols=4, line_labels=line_labels)
|
|
plt.show()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
plot_results()
|