Skip to content
Snippets Groups Projects
Commit 0ff9bdd9 authored by Ali Karimi's avatar Ali Karimi
Browse files

Fix colors in the repetition figure

parent 8ecf269e
Branches
No related tags found
No related merge requests found
......@@ -8,7 +8,7 @@ import matplotlib.pyplot as plt
import networkx as nx
from brainNetwork.util.path import get_local_datadir, get_fig_dir
from brainNetwork.util import connectome
from brainNetwork.util import connectome, util
# Paths
csv_dir = Path(get_local_datadir(),'connectivity_tastant.csv')
......@@ -19,7 +19,7 @@ connect_mat = pd.read_csv(csv_dir, index_col=0)
# Get the graph
G = nx.convert_matrix.from_pandas_adjacency(connect_mat)
# Use np.random.randint to get 10K int between 0, 2**32-1 and use them as seeds for the random number generator
# Perform repeated communities with different seeds
perform_repetition = False
df_partitions, modularities = connectome.repeat_community(G, num_repeats=10000,
save_dir=save_dir,
......@@ -30,7 +30,7 @@ assert (df_partitions.values.max(axis=1) == 2).all() # Always only 3 clusters
# create consistent indices
df_partitions = connectome.consistent_cluster_id(df_partitions)
# Make sure the same modularity means the same clustering and
# Make sure the same modularity means the same clustering
[vals, idx, counts] = np.unique(modularities.values, return_index=True, return_counts=True)
for val in vals:
cur_same_mod = df_partitions.loc[modularities.values == val,:]
......@@ -45,11 +45,12 @@ unique_partitions.index = fractions
# Save fractions and their modularities
frac_modularities = pd.DataFrame((fractions, vals), index = ['fractions', 'modularities']).transpose()
frac_modularities.to_csv(Path(save_dir,'freq_modularity.csv'))
# Read paper partition and add
csv_dir = Path(get_local_datadir(),'partition_paper.csv')
partition_paper = pd.read_csv(csv_dir,sep=';')
partition_paper.index = ['partition_paper']
unique_partitions = pd.concat([unique_partitions, partition_paper])
# csv_dir = Path(get_local_datadir(),'partition_paper.csv')
# partition_paper = pd.read_csv(csv_dir,sep=';')
# partition_paper.index = ['partition_paper']
# unique_partitions = pd.concat([unique_partitions, partition_paper])
# Save unique partitions
unique_partitions_tosave = unique_partitions.copy()
......@@ -57,12 +58,14 @@ unique_partitions_tosave = unique_partitions_tosave.sort_values(by=[10.36], axis
unique_partitions_tosave.to_csv(Path(save_dir,'unique_partitions.csv'))
# Plot
fig, ax = plt.subplots(1, 1, figsize=[3, 9])
fig, ax = plt.subplots(1, 1, figsize=[4, 8])
c_map_mods = util.colors()
sorted_partition = unique_partitions.sort_values(by=[10.36], axis=1)
sorted_partition = sorted_partition.T
shape_part = sorted_partition.shape
plt.imshow(sorted_partition.T.values, cmap='cool')
plt.yticks(range(shape_part[1]), sorted_partition.T.index)
plt.xticks(range(shape_part[0]), (*fractions, 'paper'), rotation=90)
fig_name = Path(get_fig_dir(), 'the_communities.svg')
plt.imshow(c_map_mods[sorted_partition.values])
plt.yticks(range(shape_part[0]), sorted_partition.index)
plt.xticks(range(shape_part[1]), fractions, rotation=90)
fig_name = Path(get_fig_dir(), 'the_communities_repetition_tastant.svg')
fig.savefig(fig_name)
\ No newline at end of file
import numpy as np
def cm2inch(*tupl):
"""
Convert centimeter tuple to inch tuple for setting figure size in matplotlib
......@@ -20,3 +22,10 @@ def remove_box(ax, type = 'vertical'):
ax.spines['bottom'].set_visible(False)
ax.spines['right'].set_visible(False)
return ax
def colors():
modules = np.asarray([[0.941176470588235, 0.501960784313726, 0.501960784313726],
[0.250980392156863, 0.878431372549020, 0.815686274509804],
[0.254901960784314, 0.411764705882353, 0.882352941176471]])
return modules
......@@ -5,4 +5,3 @@
0.01,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2
89.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2
10.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
partition_paper,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,2,1,2,2,1,1,2,2,2,1,2,2
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment