Skip to content

Commit 30dbf7b

Browse files
authored
Merge pull request #68 from brain-image-library/67-genotype-tree-map
Genotype Tree Map
2 parents 03cffe3 + 168db3d commit 30dbf7b

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

braininventory/get.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -850,6 +850,19 @@ def get_projects_treemap(df):
850850

851851

852852
def __get_modalities(df):
853+
"""
854+
Get the counts of different modalities from the DataFrame.
855+
856+
This function takes a pandas DataFrame as input and extracts the counts of different modalities
857+
from the 'generalmodality' column of the DataFrame. It returns a dictionary where the keys
858+
represent the unique modalities, and the values represent their respective counts.
859+
860+
Parameters:
861+
df (pandas.DataFrame): The input DataFrame containing the 'generalmodality' column.
862+
863+
Returns:
864+
dict: A dictionary with modalities as keys and their corresponding counts as values.
865+
"""
853866
return (df["generalmodality"].value_counts()).to_dict()
854867

855868

setup.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,38 @@
2020
],
2121
python_requires=">=3.6",
2222
)
23+
import pandas as pd
24+
import urllib.request
25+
26+
url = 'https://download.brainimagelibrary.org/inventory/daily/reports/today.json'
27+
file_path, _ = urllib.request.urlretrieve(url)
28+
df = pd.read_json(file_path)
29+
30+
#get affiliations
31+
affiliations = df['genotype'].value_counts().to_dict()
32+
affiliations
33+
34+
!pip install kaleido
35+
36+
import plotly.graph_objects as go
37+
from datetime import date
38+
39+
def create_tree_map(frequency_dict):
40+
labels = list(frequency_dict.keys())
41+
values = list(frequency_dict.values())
42+
43+
fig = go.Figure(go.Treemap(
44+
labels=labels,
45+
parents=[''] * len(labels),
46+
values=values,
47+
textinfo='label+value'
48+
))
49+
50+
fig.update_layout(title='Genotypes')
51+
52+
today = date.today()
53+
output_path = f'treemap-{today.strftime("%Y%m%d")}.png'
54+
fig.write_image(output_path)
55+
fig.show()
56+
57+
create_tree_map(affiliations)

0 commit comments

Comments
 (0)