Skip to content
Snippets Groups Projects
Commit bec657f0 authored by Alice Brenon's avatar Alice Brenon
Browse files

Improve bivariate specificity graph to work directly on measures from TXM

parent 88832dad
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env python3 #!/usr/bin/env python3
from GEODE import tabular from GEODE import tabular
from LongFormatFromTXM import extractBivariate, toLongFormat
from color import qualitative from color import qualitative
import matplotlib.pyplot as plot import matplotlib.pyplot as plot
import seaborn import seaborn
import sys import sys
def bivariateSpecificity(inputTSV, outputPNG): def bivariateSpecificity(inputTSV, outputPNG):
specificities = tabular(inputTSV) specificities = toLongFormat(tabular(inputTSV))
bivariate = extractBivariate(specificities, '_', ['domaine', 'auteur'])
ax = seaborn.catplot( ax = seaborn.catplot(
data=specificities, x='auteur', y='Spécificité', col='domaine', data=bivariate.reset_index(), x='auteur', y='Spécificité',
hue='lemme', kind='bar', zorder=3, palette=qualitative) col='domaine', hue='lemme', kind='bar', zorder=3, height=3.5,
aspect=1.6, palette=qualitative)
ax.despine(left=True) ax.despine(left=True)
ax.set_xlabels('') ax.set_xlabels('')
ax.set_titles('{col_name}') ax.set_titles('{col_name}')
......
...@@ -12,6 +12,12 @@ def toLongFormat(txmData): ...@@ -12,6 +12,12 @@ def toLongFormat(txmData):
specificities.name = 'Spécificité' specificities.name = 'Spécificité'
return pandas.DataFrame(specificities) return pandas.DataFrame(specificities)
def extractBivariate(specificities, sep, into):
index = specificities.index.names
columns = specificities.columns
specificities[into] = [*specificities.index.map(lambda r: r[0].split(sep))]
return specificities.reset_index().set_index(into + index[1:])[columns]
def convert(inputTSV, outputTSV): def convert(inputTSV, outputTSV):
toLongFormat(tabular(inputTSV)).to_csv(outputTSV, sep='\t') toLongFormat(tabular(inputTSV)).to_csv(outputTSV, sep='\t')
......
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