Skip to content
Snippets Groups Projects
Commit d698272b authored by ArktikHunter's avatar ArktikHunter
Browse files

bar plot 2+ plots added

parent fe6ca42d
No related branches found
No related tags found
1 merge request!21pydtn agkmeans and version 1.0
......@@ -60,34 +60,51 @@ def run_simulation(simulation):
def bar_plot(graphing_options, results):
"""
bar plot sim results
todo: 2+ plots, error bars?
todo: error bars?
"""
choice = graphing_options["choice"]
dependant = graphing_options["dependant"]
data = [[inp] for inp in graphing_options["input"]]
columns = [choice]
columns.extend(results.keys())
for node, stats in results.items():
columns.append(node)
sorted_results = sorted(stats, key=lambda x: x["tag"])
if len(dependant) > 1:
fig, axes = plt.subplots(len(dependant))
batch_y = [[] for _ in range(len(data))]
# split the stats into batches
for stat in sorted_results:
batch_y[stat["tag"]].append([stat[dependant[0]]])
for ax, dep in zip(axes, dependant):
this_data = copy.deepcopy(data)
for node, stats in results.items():
sorted_results = sorted(stats, key=lambda x: x["tag"])
for dat, batch in zip(data, batch_y):
dat.append(mean(batch))
batch_y = [[] for _ in range(len(data))]
# split the stats into batches
for stat in sorted_results:
batch_y[stat["tag"]].append([stat[dep]])
pd.DataFrame(data, columns=columns).plot(
x=choice, kind="bar", stacked=False, rot=0, ylabel=dependant[0]
)
for dat, batch in zip(this_data, batch_y):
dat.append(mean(batch))
plt.subplots_adjust(right=0.75)
pd.DataFrame(this_data, columns=columns).plot(
x=choice, kind="bar", stacked=False, rot=0, ylabel=dep, ax=ax
).legend(bbox_to_anchor=(1.05, 1), loc="upper left", borderaxespad=0)
else:
for node, stats in results.items():
sorted_results = sorted(stats, key=lambda x: x["tag"])
batch_y = [[] for _ in range(len(data))]
# split the stats into batches
for stat in sorted_results:
batch_y[stat["tag"]].append([stat[dependant[0]]])
for dat, batch in zip(data, batch_y):
dat.append(mean(batch))
pd.DataFrame(data, columns=columns).plot(
x=choice, kind="bar", stacked=False, rot=0, ylabel=dependant[0]
).legend(bbox_to_anchor=(1.05, 1), loc="upper left", borderaxespad=0)
plt.subplots_adjust(right=0.75)
plt.xlabel(choice)
plt.legend(bbox_to_anchor=(1.05, 1), loc="upper left", borderaxespad=0)
plt.show()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment