Repository 'dimet_differential_multigroup_analysis'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/dimet_differential_multigroup_analysis

Changeset 4:daefbae2aacf (2024-03-27)
Previous changeset 3:7897a5cadcf5 (2024-03-04) Next changeset 5:0bba1203264f (2024-05-21)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/DIMet commit afc87f0254b4399b71e53735966032ba1a32434d
modified:
macros.xml
test-data/abundances--T0--cell--label-n_pc.svg
test-data/abundances--T0--cell--label-y_pc.svg
test-data/abundances--T0--cell_var.svg
test-data/abundances--T0--med--label-n_pc.svg
test-data/abundances--T0--med--label-y_pc.svg
test-data/abundances--T0--med_var.svg
test-data/abundances--T2h--cell--label-n_pc.svg
test-data/abundances--T2h--cell--label-y_pc.svg
test-data/abundances--T2h--cell_var.svg
test-data/abundances--T2h--med--label-n_pc.svg
test-data/abundances--T2h--med--label-y_pc.svg
test-data/abundances--T2h--med_var.svg
test-data/abundances--cell--label-n_pc.svg
test-data/abundances--cell--label-y_pc.svg
test-data/abundances--cell_var.svg
test-data/abundances--med--label-n_pc.svg
test-data/abundances--med--label-y_pc.svg
test-data/abundances--med_var.svg
test-data/bars_endo_Fru1P-total_abundance.svg
test-data/legend.svg
added:
test-data/abundances--T0--cell_pc.tsv
test-data/abundances--T0--cell_var.tsv
test-data/abundances--T0--med_pc.tsv
test-data/abundances--T0--med_var.tsv
test-data/abundances--T2h--cell_pc.tsv
test-data/abundances--T2h--cell_var.tsv
test-data/abundances--T2h--med_pc.tsv
test-data/abundances--T2h--med_var.tsv
test-data/abundances--cell_pc.tsv
test-data/abundances--cell_var.tsv
test-data/abundances--med_pc.tsv
test-data/abundances--med_var.tsv
b
diff -r 7897a5cadcf5 -r daefbae2aacf macros.xml
--- a/macros.xml Mon Mar 04 20:02:11 2024 +0000
+++ b/macros.xml Wed Mar 27 16:47:56 2024 +0000
[
@@ -1,5 +1,5 @@
 <macros>
-    <token name="@TOOL_VERSION@">0.2.2</token>
+    <token name="@TOOL_VERSION@">0.2.4</token>
     <token name="@VERSION_SUFFIX@">1</token>
     <token name="@EXECUTABLE@">pca</token>
     <xml name="requirements">
@@ -12,6 +12,12 @@
             <option value="KW">Kruskal-Wallis</option>
         </param>
     </xml>
+     <xml name="statistical_test_for_bivariate_analysis">
+        <param name="stat_test" type="select" value="pearson"  display="radio" label="Select statistical to apply" help="Please enter at max 1 statistical test by file">
+            <option value="pearson">pearson</option>
+            <option value="spearman">spearman</option>
+        </param>
+    </xml>
     <xml name="statistical_test">
         <conditional name="statistics">
             <param name="statistical_test_type" type="select" label="Choose which type of statistical test to perform" help="Choose which type of statistical test to perform">
@@ -166,6 +172,7 @@
             </when>
         </conditional>
         <expand macro="metadata_file_macros"/>
+        <expand macro="statistical_test_for_bivariate_analysis"/>
     </xml>
     <xml name="input_parameters_diff_analysis">
         <conditional name="data_input">
@@ -638,14 +645,23 @@
     #if $metadata_path:
         ln -s '$metadata_path' data/metadata.csv &&
     #end if
+
+
     #set conditions_MDV_comparison  = {}
-    #silent $conditions_MDV_comparison['isotopologue_proportions']='pearson'
     #set timepoints_MDV_comparison  = {}
-    #silent $timepoints_MDV_comparison['isotopologue_proportions']='pearson'
     #set conditions_metabolite_time_profiles  = {}
-    #silent $conditions_metabolite_time_profiles['abundances']='pearson'
-    #silent $conditions_metabolite_time_profiles['mean_enrichment']='pearson'
 
+    #if str( $stat_test ) == "pearson":
+        #silent $conditions_MDV_comparison['isotopologue_proportions']='pearson'
+        #silent $timepoints_MDV_comparison['isotopologue_proportions']='pearson'
+        #silent $conditions_metabolite_time_profiles['abundances']='pearson'
+        #silent $conditions_metabolite_time_profiles['mean_enrichment']='pearson'
+    #else
+        #silent $conditions_MDV_comparison['isotopologue_proportions']='spearman'
+        #silent $timepoints_MDV_comparison['isotopologue_proportions']='spearman'
+        #silent $conditions_metabolite_time_profiles['abundances']='spearman'
+        #silent $conditions_metabolite_time_profiles['mean_enrichment']='spearman'
+    #end if
     #set $impute_values  = {}
     #if str( $data_input.data_input_selector ) == "abundance":
         #if $data_input.abundance_file:
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T0--cell--label-n_pc.svg
--- a/test-data/abundances--T0--cell--label-n_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T0--cell--label-n_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.244122</dc:date>\n+    <dc:date>2024-03-26T10:28:20.939491</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,29 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n    <g id="line2d_1">\n     <path d="M 57.6 188.317452 \n L 414.72 188.317452 \n-" clip-path="url(#pd89567ce0b)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#pab131b2223)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 215.516894 307.584 \n L 215.516894 41.472 \n-" clip-path="url(#pd89567ce0b)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#pab131b2223)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="m4d708d8537" d="M 0 0 \n+       <path id="ma81fbba32d" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m4d708d8537" x="92.649127" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#ma81fbba32d" x="92.649127" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -101,7 +98,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#m4d708d8537" x="154.083011" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#ma81fbba32d" x="154.083011" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -141,7 +138,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#m4d708d8537" x="215.516894" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#ma81fbba32d" x="215.516894" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -177,7 +174,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#m4d708d8537" x="276.950778" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#ma81fbba32d" x="276.950778" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -190,7 +187,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#m4d708d8537" x="338.384661" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#ma81fbba32d" x="338.384661" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -203,7 +200,7 @@\n     <g id="xtick_6">\n      <g id="line2d_8">\n       <g>\n-       <use xlink:href="#m4d708d8537" x="399.818545" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#ma81fbba32d" x="399.818545" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_6">\n@@ -419,12 +416,12 @@\n     <g id="ytick_1">\n      <g id="line2d_9">\n       <defs>\n-       <path id="m8ad2a306de" d="M 0 0 \n+       <path id="mda5a65aa44" d="M 0 0 \n L -3.5 0 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n   '..b'00923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #1f77b4"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m9e8a822993" x="320.67625" y="70.123563" style="fill: #1f77b4; stroke: #1f77b4"/>\n+      <use xlink:href="#m6fd3f243f5" x="320.67625" y="69.248563" style="fill: #1f77b4; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_17">\n@@ -839,22 +842,22 @@\n       <use xlink:href="#DejaVuSans-6c" x="333.638672"/>\n      </g>\n     </g>\n-    <g id="PathCollection_6">\n+    <g id="line2d_23">\n      <defs>\n-      <path id="m189364f6da" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m824e201da5" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m189364f6da" x="320.67625" y="84.801688" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#m824e201da5" x="320.67625" y="83.926688" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_18">\n@@ -966,9 +969,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_24"/>\n     <g id="text_19">\n      <!-- timepoint -->\n-     <g transform="translate(318.67625 102.104813) scale(0.1 -0.1)">\n+     <g transform="translate(338.67625 102.104813) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-6d" d="M 3328 2828 \n Q 3544 3216 3844 3400 \n@@ -1038,22 +1042,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_7">\n+    <g id="line2d_25">\n      <defs>\n-      <path id="md619f0793e" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="maae5388a5e" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#md619f0793e" x="320.67625" y="114.157938" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#maae5388a5e" x="320.67625" y="113.282938" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_20">\n@@ -1080,7 +1084,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="pd89567ce0b">\n+  <clipPath id="pab131b2223">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T0--cell--label-y_pc.svg
--- a/test-data/abundances--T0--cell--label-y_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T0--cell--label-y_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.195225</dc:date>\n+    <dc:date>2024-03-26T10:28:20.904175</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,29 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n    <g id="line2d_1">\n     <path d="M 57.6 188.317452 \n L 414.72 188.317452 \n-" clip-path="url(#pb6ed43a42b)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p4516990cc5)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 215.516894 307.584 \n L 215.516894 41.472 \n-" clip-path="url(#pb6ed43a42b)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p4516990cc5)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="m9ce0b0df76" d="M 0 0 \n+       <path id="m39bbd9bd43" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m9ce0b0df76" x="92.649127" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m39bbd9bd43" x="92.649127" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -101,7 +98,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#m9ce0b0df76" x="154.083011" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m39bbd9bd43" x="154.083011" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -141,7 +138,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#m9ce0b0df76" x="215.516894" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m39bbd9bd43" x="215.516894" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -177,7 +174,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#m9ce0b0df76" x="276.950778" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m39bbd9bd43" x="276.950778" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -190,7 +187,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#m9ce0b0df76" x="338.384661" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m39bbd9bd43" x="338.384661" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -203,7 +200,7 @@\n     <g id="xtick_6">\n      <g id="line2d_8">\n       <g>\n-       <use xlink:href="#m9ce0b0df76" x="399.818545" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m39bbd9bd43" x="399.818545" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_6">\n@@ -419,12 +416,12 @@\n     <g id="ytick_1">\n      <g id="line2d_9">\n       <defs>\n-       <path id="md972e5bdeb" d="M 0 0 \n+       <path id="m21865aacae" d="M 0 0 \n L -3.5 0 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n   '..b'923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #1f77b4"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m6aa0b5b97a" x="320.67625" y="70.123563" style="fill: #1f77b4; stroke: #1f77b4"/>\n+      <use xlink:href="#m64ab611c13" x="320.67625" y="69.248563" style="fill: #1f77b4; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_21">\n@@ -995,22 +998,22 @@\n       <use xlink:href="#DejaVuSans-6c" x="333.638672"/>\n      </g>\n     </g>\n-    <g id="PathCollection_6">\n+    <g id="line2d_23">\n      <defs>\n-      <path id="m057f3ec75b" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="mf3d4329b25" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m057f3ec75b" x="320.67625" y="84.801688" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#mf3d4329b25" x="320.67625" y="83.926688" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_22">\n@@ -1064,9 +1067,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_24"/>\n     <g id="text_23">\n      <!-- timepoint -->\n-     <g transform="translate(318.67625 102.104813) scale(0.1 -0.1)">\n+     <g transform="translate(338.67625 102.104813) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-6d" d="M 3328 2828 \n Q 3544 3216 3844 3400 \n@@ -1136,22 +1140,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_7">\n+    <g id="line2d_25">\n      <defs>\n-      <path id="mc337a0fdd4" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="mb0235545be" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#mc337a0fdd4" x="320.67625" y="114.157938" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#mb0235545be" x="320.67625" y="113.282938" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_24">\n@@ -1165,7 +1169,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="pb6ed43a42b">\n+  <clipPath id="p4516990cc5">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T0--cell_pc.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--T0--cell_pc.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,5 @@
+PC1 PC2 PC3 PC4 name_to_plot condition timepoint timenum compartment original_name
+-4.612574 -2.881005 -0.432059 0.0 Ctrl_cell_T0-1 Control T0 0 cell MCF001089_TD01
+-3.303276 3.622393 -0.061907 0.0 Ctrl_cell_T0-2 Control T0 0 cell MCF001089_TD02
+1.95919 -0.773766 1.28576 0.0 L-Cyc_cell_T0-1 L-Cycloserine T0 0 cell MCF001089_TD19
+5.95666 0.032379 -0.791794 0.0 L-Cyc_cell_T0-2 L-Cycloserine T0 0 cell MCF001089_TD20
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T0--cell_var.svg
--- a/test-data/abundances--T0--cell_var.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T0--cell_var.svg Wed Mar 27 16:47:56 2024 +0000
b
@@ -6,11 +6,11 @@
   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <cc:Work>
     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
-    <dc:date>2023-10-08T10:14:24.157274</dc:date>
+    <dc:date>2024-03-26T10:28:20.870816</dc:date>
     <dc:format>image/svg+xml</dc:format>
     <dc:creator>
      <cc:Agent>
-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>
+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>
      </cc:Agent>
     </dc:creator>
    </cc:Work>
@@ -43,7 +43,7 @@
 L 137.952 54.144 
 L 66.528 54.144 
 z
-" clip-path="url(#pc312d5c87f)" style="fill: #679698"/>
+" clip-path="url(#p596071d219)" style="fill: #679698"/>
    </g>
    <g id="patch_4">
     <path d="M 155.808 307.584 
@@ -51,7 +51,7 @@
 L 227.232 229.533997 
 L 155.808 229.533997 
 z
-" clip-path="url(#pc312d5c87f)" style="fill: #679698"/>
+" clip-path="url(#p596071d219)" style="fill: #679698"/>
    </g>
    <g id="patch_5">
     <path d="M 245.088 307.584 
@@ -59,7 +59,7 @@
 L 316.512 298.827532 
 L 245.088 298.827532 
 z
-" clip-path="url(#pc312d5c87f)" style="fill: #679698"/>
+" clip-path="url(#p596071d219)" style="fill: #679698"/>
    </g>
    <g id="patch_6">
     <path d="M 334.368 307.584 
@@ -67,18 +67,18 @@
 L 405.792 307.584 
 L 334.368 307.584 
 z
-" clip-path="url(#pc312d5c87f)" style="fill: #679698"/>
+" clip-path="url(#p596071d219)" style="fill: #679698"/>
    </g>
    <g id="matplotlib.axis_1">
     <g id="xtick_1">
      <g id="line2d_1">
       <defs>
-       <path id="mb40aaa24df" d="M 0 0 
+       <path id="m3a082cd1ea" d="M 0 0 
 L 0 3.5 
 " style="stroke: #000000; stroke-width: 0.8"/>
       </defs>
       <g>
-       <use xlink:href="#mb40aaa24df" x="102.24" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m3a082cd1ea" x="102.24" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_1">
@@ -151,7 +151,7 @@
     <g id="xtick_2">
      <g id="line2d_2">
       <g>
-       <use xlink:href="#mb40aaa24df" x="191.52" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m3a082cd1ea" x="191.52" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_2">
@@ -192,7 +192,7 @@
     <g id="xtick_3">
      <g id="line2d_3">
       <g>
-       <use xlink:href="#mb40aaa24df" x="280.8" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m3a082cd1ea" x="280.8" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_3">
@@ -241,7 +241,7 @@
     <g id="xtick_4">
      <g id="line2d_4">
       <g>
-       <use xlink:href="#mb40aaa24df" x="370.08" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m3a082cd1ea" x="370.08" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_4">
@@ -286,12 +286,12 @@
     <g id="ytick_1">
      <g id="line2d_5">
       <defs>
-       <path id="m932e968141" d="M 0 0 
+       <path id="m122fdde287" d="M 0 0 
 L -3.5 0 
 " style="stroke: #000000; stroke-width: 0.8"/>
       </defs>
       <g>
-       <use xlink:href="#m932e968141" x="57.6" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m122fdde287" x="57.6" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_6">
@@ -327,7 +327,7 @@
     <g id="ytick_2">
      <g id="line2d_6">
       <g>
-       <use xlink:href="#m932e968141" x="57.6" y="273.559353" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m122fdde287" x="57.6" y="273.559353" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_7">
@@ -341,7 +341,7 @@
     <g id="ytick_3">
      <g id="line2d_7">
       <g>
-       <use xlink:href="#m932e968141" x="57.6" y="239.534705" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m122fdde287" x="57.6" y="239.534705" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_8">
@@ -355,7 +355,7 @@
     <g id="ytick_4">
      <g id="line2d_8">
       <g>
-       <use xlink:href="#m932e968141" x="57.6" y="205.510058" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m122fdde287" x="57.6" y="205.510058" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_9">
@@ -369,7 +369,7 @@
     <g id="ytick_5">
      <g id="line2d_9">
       <g>
-       <use xlink:href="#m932e968141" x="57.6" y="171.48541" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m122fdde287" x="57.6" y="171.48541" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_10">
@@ -383,7 +383,7 @@
     <g id="ytick_6">
      <g id="line2d_10">
       <g>
-       <use xlink:href="#m932e968141" x="57.6" y="137.460763" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m122fdde287" x="57.6" y="137.460763" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_11">
@@ -424,7 +424,7 @@
     <g id="ytick_7">
      <g id="line2d_11">
       <g>
-       <use xlink:href="#m932e968141" x="57.6" y="103.436116" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m122fdde287" x="57.6" y="103.436116" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_12">
@@ -470,7 +470,7 @@
     <g id="ytick_8">
      <g id="line2d_12">
       <g>
-       <use xlink:href="#m932e968141" x="57.6" y="69.411468" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m122fdde287" x="57.6" y="69.411468" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_13">
@@ -857,16 +857,16 @@
     </g>
    </g>
    <g id="line2d_13">
-    <path clip-path="url(#pc312d5c87f)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p596071d219)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_14">
-    <path clip-path="url(#pc312d5c87f)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p596071d219)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_15">
-    <path clip-path="url(#pc312d5c87f)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p596071d219)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_16">
-    <path clip-path="url(#pc312d5c87f)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p596071d219)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="patch_7">
     <path d="M 57.6 307.584 
@@ -1089,7 +1089,7 @@
   </g>
  </g>
  <defs>
-  <clipPath id="pc312d5c87f">
+  <clipPath id="p596071d219">
    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>
   </clipPath>
  </defs>
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T0--cell_var.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--T0--cell_var.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,5 @@
+Explained Variance % PC
+74.487179 PC1
+22.939254 PC2
+2.573566 PC3
+0.0 PC4
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T0--med--label-n_pc.svg
--- a/test-data/abundances--T0--med--label-n_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T0--med--label-n_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.654753</dc:date>\n+    <dc:date>2024-03-26T10:28:21.250564</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,29 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n    <g id="line2d_1">\n     <path d="M 57.6 193.859104 \n L 414.72 193.859104 \n-" clip-path="url(#p19db9a9af1)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p6931c9dd59)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 212.801142 307.584 \n L 212.801142 41.472 \n-" clip-path="url(#p19db9a9af1)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p6931c9dd59)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="md93f66193e" d="M 0 0 \n+       <path id="mf5df1807c3" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#md93f66193e" x="60.404654" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mf5df1807c3" x="60.404654" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -101,7 +98,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#md93f66193e" x="136.602898" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mf5df1807c3" x="136.602898" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -141,7 +138,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#md93f66193e" x="212.801142" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mf5df1807c3" x="212.801142" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -177,7 +174,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#md93f66193e" x="288.999387" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mf5df1807c3" x="288.999387" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -190,7 +187,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#md93f66193e" x="365.197631" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mf5df1807c3" x="365.197631" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -458,12 +455,12 @@\n     <g id="ytick_1">\n      <g id="line2d_8">\n       <defs>\n-       <path id="m01c4860dbd" d="M 0 0 \n+       <path id="mcafb8c8679" d="M 0 0 \n L -3.5 0 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m01c4860dbd" x="57.6" y="279.562291" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mcafb8c8679" x="57.6" y="279.562291" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_7">\n@@ -477,7 +474,7 @@\n     <g id="ytick_2">\n      <g id="line2d_9">\n       <g'..b'00923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #1f77b4"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#mde9343d2e5" x="320.67625" y="70.123563" style="fill: #1f77b4; stroke: #1f77b4"/>\n+      <use xlink:href="#m557fc54bd5" x="320.67625" y="69.248563" style="fill: #1f77b4; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_15">\n@@ -864,22 +867,22 @@\n       <use xlink:href="#DejaVuSans-6c" x="333.638672"/>\n      </g>\n     </g>\n-    <g id="PathCollection_6">\n+    <g id="line2d_21">\n      <defs>\n-      <path id="mfb2060ed1f" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m1aca804c61" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#mfb2060ed1f" x="320.67625" y="84.801688" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#m1aca804c61" x="320.67625" y="83.926688" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_16">\n@@ -991,9 +994,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_22"/>\n     <g id="text_17">\n      <!-- timepoint -->\n-     <g transform="translate(318.67625 102.104813) scale(0.1 -0.1)">\n+     <g transform="translate(338.67625 102.104813) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-6d" d="M 3328 2828 \n Q 3544 3216 3844 3400 \n@@ -1063,22 +1067,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_7">\n+    <g id="line2d_23">\n      <defs>\n-      <path id="m4540c2ed6e" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m3cd75b9bfb" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m4540c2ed6e" x="320.67625" y="114.157938" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#m3cd75b9bfb" x="320.67625" y="113.282938" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_18">\n@@ -1105,7 +1109,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="p19db9a9af1">\n+  <clipPath id="p6931c9dd59">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T0--med--label-y_pc.svg
--- a/test-data/abundances--T0--med--label-y_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T0--med--label-y_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.612723</dc:date>\n+    <dc:date>2024-03-26T10:28:21.216178</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,29 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n    <g id="line2d_1">\n     <path d="M 57.6 193.859104 \n L 414.72 193.859104 \n-" clip-path="url(#p72f2c9fe88)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#pc58fddc43c)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 212.801142 307.584 \n L 212.801142 41.472 \n-" clip-path="url(#p72f2c9fe88)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#pc58fddc43c)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="m4f2665ef0f" d="M 0 0 \n+       <path id="m8f6fc56424" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m4f2665ef0f" x="60.404654" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m8f6fc56424" x="60.404654" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -101,7 +98,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#m4f2665ef0f" x="136.602898" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m8f6fc56424" x="136.602898" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -141,7 +138,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#m4f2665ef0f" x="212.801142" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m8f6fc56424" x="212.801142" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -177,7 +174,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#m4f2665ef0f" x="288.999387" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m8f6fc56424" x="288.999387" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -190,7 +187,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#m4f2665ef0f" x="365.197631" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m8f6fc56424" x="365.197631" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -458,12 +455,12 @@\n     <g id="ytick_1">\n      <g id="line2d_8">\n       <defs>\n-       <path id="mf1ead764c1" d="M 0 0 \n+       <path id="md445a45183" d="M 0 0 \n L -3.5 0 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#mf1ead764c1" x="57.6" y="279.562291" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#md445a45183" x="57.6" y="279.562291" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_7">\n@@ -477,7 +474,7 @@\n     <g id="ytick_2">\n      <g id="line2d_9">\n       <g'..b'4 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #1f77b4"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#me284a6b7c1" x="320.67625" y="70.123563" style="fill: #1f77b4; stroke: #1f77b4"/>\n+      <use xlink:href="#mff86af93a4" x="320.67625" y="69.248563" style="fill: #1f77b4; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_19">\n@@ -1046,22 +1049,22 @@\n       <use xlink:href="#DejaVuSans-6c" x="333.638672"/>\n      </g>\n     </g>\n-    <g id="PathCollection_6">\n+    <g id="line2d_21">\n      <defs>\n-      <path id="m4da869cf39" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m9bee457024" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m4da869cf39" x="320.67625" y="84.801688" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#m9bee457024" x="320.67625" y="83.926688" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_20">\n@@ -1115,9 +1118,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_22"/>\n     <g id="text_21">\n      <!-- timepoint -->\n-     <g transform="translate(318.67625 102.104813) scale(0.1 -0.1)">\n+     <g transform="translate(338.67625 102.104813) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-70" d="M 1159 525 \n L 1159 -1331 \n@@ -1157,22 +1161,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_7">\n+    <g id="line2d_23">\n      <defs>\n-      <path id="ma53c8981fd" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m91a44cca6a" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#ma53c8981fd" x="320.67625" y="114.157938" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#m91a44cca6a" x="320.67625" y="113.282938" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_22">\n@@ -1186,7 +1190,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="p72f2c9fe88">\n+  <clipPath id="pc58fddc43c">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T0--med_pc.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--T0--med_pc.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,5 @@
+PC1 PC2 PC3 PC4 name_to_plot condition timepoint timenum compartment original_name
+-3.647549 -2.371648 -1.342906 0.0 Ctrl_med_T0-1 Control T0 0 med MCF001089_TD37
+-2.455848 3.273883 0.058928 0.0 Ctrl_med_T0-2 Control T0 0 med MCF001089_TD38
+4.873764 0.136899 -1.737705 0.0 L-Cyc_med_T0-1 L-Cycloserine T0 0 med MCF001089_TD55
+1.229634 -1.039134 3.021683 0.0 L-Cyc_med_T0-2 L-Cycloserine T0 0 med MCF001089_TD56
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T0--med_var.svg
--- a/test-data/abundances--T0--med_var.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T0--med_var.svg Wed Mar 27 16:47:56 2024 +0000
b
@@ -6,11 +6,11 @@
   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <cc:Work>
     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
-    <dc:date>2023-10-08T10:14:24.575574</dc:date>
+    <dc:date>2024-03-26T10:28:21.184677</dc:date>
     <dc:format>image/svg+xml</dc:format>
     <dc:creator>
      <cc:Agent>
-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>
+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>
      </cc:Agent>
     </dc:creator>
    </cc:Work>
@@ -43,7 +43,7 @@
 L 137.952 54.144 
 L 66.528 54.144 
 z
-" clip-path="url(#p66313797f2)" style="fill: #679698"/>
+" clip-path="url(#pc7004c9502)" style="fill: #679698"/>
    </g>
    <g id="patch_4">
     <path d="M 155.808 307.584 
@@ -51,7 +51,7 @@
 L 227.232 208.475175 
 L 155.808 208.475175 
 z
-" clip-path="url(#p66313797f2)" style="fill: #679698"/>
+" clip-path="url(#pc7004c9502)" style="fill: #679698"/>
    </g>
    <g id="patch_5">
     <path d="M 245.088 307.584 
@@ -59,7 +59,7 @@
 L 316.512 228.275352 
 L 245.088 228.275352 
 z
-" clip-path="url(#p66313797f2)" style="fill: #679698"/>
+" clip-path="url(#pc7004c9502)" style="fill: #679698"/>
    </g>
    <g id="patch_6">
     <path d="M 334.368 307.584 
@@ -67,18 +67,18 @@
 L 405.792 307.584 
 L 334.368 307.584 
 z
-" clip-path="url(#p66313797f2)" style="fill: #679698"/>
+" clip-path="url(#pc7004c9502)" style="fill: #679698"/>
    </g>
    <g id="matplotlib.axis_1">
     <g id="xtick_1">
      <g id="line2d_1">
       <defs>
-       <path id="m62e1f1a97e" d="M 0 0 
+       <path id="m10b5d35c7b" d="M 0 0 
 L 0 3.5 
 " style="stroke: #000000; stroke-width: 0.8"/>
       </defs>
       <g>
-       <use xlink:href="#m62e1f1a97e" x="102.24" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m10b5d35c7b" x="102.24" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_1">
@@ -151,7 +151,7 @@
     <g id="xtick_2">
      <g id="line2d_2">
       <g>
-       <use xlink:href="#m62e1f1a97e" x="191.52" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m10b5d35c7b" x="191.52" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_2">
@@ -192,7 +192,7 @@
     <g id="xtick_3">
      <g id="line2d_3">
       <g>
-       <use xlink:href="#m62e1f1a97e" x="280.8" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m10b5d35c7b" x="280.8" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_3">
@@ -241,7 +241,7 @@
     <g id="xtick_4">
      <g id="line2d_4">
       <g>
-       <use xlink:href="#m62e1f1a97e" x="370.08" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m10b5d35c7b" x="370.08" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_4">
@@ -286,12 +286,12 @@
     <g id="ytick_1">
      <g id="line2d_5">
       <defs>
-       <path id="m13e20955ba" d="M 0 0 
+       <path id="mf21d599931" d="M 0 0 
 L -3.5 0 
 " style="stroke: #000000; stroke-width: 0.8"/>
       </defs>
       <g>
-       <use xlink:href="#m13e20955ba" x="57.6" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mf21d599931" x="57.6" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_6">
@@ -327,7 +327,7 @@
     <g id="ytick_2">
      <g id="line2d_6">
       <g>
-       <use xlink:href="#m13e20955ba" x="57.6" y="264.398252" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mf21d599931" x="57.6" y="264.398252" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_7">
@@ -341,7 +341,7 @@
     <g id="ytick_3">
      <g id="line2d_7">
       <g>
-       <use xlink:href="#m13e20955ba" x="57.6" y="221.212505" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mf21d599931" x="57.6" y="221.212505" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_8">
@@ -355,7 +355,7 @@
     <g id="ytick_4">
      <g id="line2d_8">
       <g>
-       <use xlink:href="#m13e20955ba" x="57.6" y="178.026757" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mf21d599931" x="57.6" y="178.026757" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_9">
@@ -369,7 +369,7 @@
     <g id="ytick_5">
      <g id="line2d_9">
       <g>
-       <use xlink:href="#m13e20955ba" x="57.6" y="134.841009" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mf21d599931" x="57.6" y="134.841009" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_10">
@@ -383,7 +383,7 @@
     <g id="ytick_6">
      <g id="line2d_10">
       <g>
-       <use xlink:href="#m13e20955ba" x="57.6" y="91.655261" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mf21d599931" x="57.6" y="91.655261" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_11">
@@ -424,7 +424,7 @@
     <g id="ytick_7">
      <g id="line2d_11">
       <g>
-       <use xlink:href="#m13e20955ba" x="57.6" y="48.469514" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mf21d599931" x="57.6" y="48.469514" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_12">
@@ -831,16 +831,16 @@
     </g>
    </g>
    <g id="line2d_12">
-    <path clip-path="url(#p66313797f2)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#pc7004c9502)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_13">
-    <path clip-path="url(#p66313797f2)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#pc7004c9502)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_14">
-    <path clip-path="url(#p66313797f2)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#pc7004c9502)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_15">
-    <path clip-path="url(#p66313797f2)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#pc7004c9502)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="patch_7">
     <path d="M 57.6 307.584 
@@ -1063,7 +1063,7 @@
   </g>
  </g>
  <defs>
-  <clipPath id="p66313797f2">
+  <clipPath id="pc7004c9502">
    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>
   </clipPath>
  </defs>
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T0--med_var.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--T0--med_var.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,5 @@
+Explained Variance % PC
+58.686028 PC1
+22.949429 PC2
+18.364542 PC3
+0.0 PC4
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T2h--cell--label-n_pc.svg
--- a/test-data/abundances--T2h--cell--label-n_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T2h--cell--label-n_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.360072</dc:date>\n+    <dc:date>2024-03-26T10:28:21.040188</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,29 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n    <g id="line2d_1">\n     <path d="M 57.6 185.374716 \n L 414.72 185.374716 \n-" clip-path="url(#p8feb4f512c)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p1f309fd952)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 228.84551 307.584 \n L 228.84551 41.472 \n-" clip-path="url(#p8feb4f512c)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p1f309fd952)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="m369870b14b" d="M 0 0 \n+       <path id="m831d04fdeb" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m369870b14b" x="107.768235" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m831d04fdeb" x="107.768235" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -101,7 +98,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#m369870b14b" x="168.306873" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m831d04fdeb" x="168.306873" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -141,7 +138,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#m369870b14b" x="228.84551" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m831d04fdeb" x="228.84551" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -177,7 +174,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#m369870b14b" x="289.384147" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m831d04fdeb" x="289.384147" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -190,7 +187,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#m369870b14b" x="349.922784" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m831d04fdeb" x="349.922784" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -203,7 +200,7 @@\n     <g id="xtick_6">\n      <g id="line2d_8">\n       <g>\n-       <use xlink:href="#m369870b14b" x="410.461422" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m831d04fdeb" x="410.461422" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_6">\n@@ -418,12 +415,12 @@\n     <g id="ytick_1">\n      <g id="line2d_9">\n       <defs>\n-       <path id="m9b1b99287d" d="M 0 0 \n+       <path id="m8c050e8d2a" d="M 0 0 \n L -3.5 0 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n     '..b' -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #1f77b4"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#ma3cf7cd49b" x="76.6" y="70.123563" style="fill: #1f77b4; stroke: #1f77b4"/>\n+      <use xlink:href="#m2f002e9f00" x="76.6" y="69.248563" style="fill: #1f77b4; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_18">\n@@ -859,22 +862,22 @@\n       <use xlink:href="#DejaVuSans-6c" x="333.638672"/>\n      </g>\n     </g>\n-    <g id="PathCollection_6">\n+    <g id="line2d_24">\n      <defs>\n-      <path id="mc1ce3a168c" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m3ea04edb19" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#mc1ce3a168c" x="76.6" y="84.801688" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#m3ea04edb19" x="76.6" y="83.926688" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_19">\n@@ -986,9 +989,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_25"/>\n     <g id="text_20">\n      <!-- timepoint -->\n-     <g transform="translate(74.6 102.104813) scale(0.1 -0.1)">\n+     <g transform="translate(94.6 102.104813) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-6d" d="M 3328 2828 \n Q 3544 3216 3844 3400 \n@@ -1058,22 +1062,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_7">\n+    <g id="line2d_26">\n      <defs>\n-      <path id="m30976c66dd" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m5b7028ff77" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m30976c66dd" x="76.6" y="114.157938" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#m5b7028ff77" x="76.6" y="113.282938" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_21">\n@@ -1120,7 +1124,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="p8feb4f512c">\n+  <clipPath id="p1f309fd952">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T2h--cell--label-y_pc.svg
--- a/test-data/abundances--T2h--cell--label-y_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T2h--cell--label-y_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.313549</dc:date>\n+    <dc:date>2024-03-26T10:28:21.003691</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,29 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n    <g id="line2d_1">\n     <path d="M 57.6 185.374716 \n L 414.72 185.374716 \n-" clip-path="url(#p51ed853460)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p23949f7454)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 228.84551 307.584 \n L 228.84551 41.472 \n-" clip-path="url(#p51ed853460)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p23949f7454)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="m9a7ed9599c" d="M 0 0 \n+       <path id="mb098a1c3a3" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m9a7ed9599c" x="107.768235" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb098a1c3a3" x="107.768235" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -101,7 +98,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#m9a7ed9599c" x="168.306873" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb098a1c3a3" x="168.306873" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -141,7 +138,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#m9a7ed9599c" x="228.84551" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb098a1c3a3" x="228.84551" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -177,7 +174,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#m9a7ed9599c" x="289.384147" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb098a1c3a3" x="289.384147" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -190,7 +187,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#m9a7ed9599c" x="349.922784" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb098a1c3a3" x="349.922784" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -203,7 +200,7 @@\n     <g id="xtick_6">\n      <g id="line2d_8">\n       <g>\n-       <use xlink:href="#m9a7ed9599c" x="410.461422" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb098a1c3a3" x="410.461422" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_6">\n@@ -418,12 +415,12 @@\n     <g id="ytick_1">\n      <g id="line2d_9">\n       <defs>\n-       <path id="m0cd49e9681" d="M 0 0 \n+       <path id="me15ccb1287" d="M 0 0 \n L -3.5 0 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n     '..b'472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #1f77b4"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m98e24eb88c" x="76.6" y="70.123563" style="fill: #1f77b4; stroke: #1f77b4"/>\n+      <use xlink:href="#m0cd10fdff4" x="76.6" y="69.248563" style="fill: #1f77b4; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_22">\n@@ -1038,22 +1041,22 @@\n       <use xlink:href="#DejaVuSans-6c" x="333.638672"/>\n      </g>\n     </g>\n-    <g id="PathCollection_6">\n+    <g id="line2d_24">\n      <defs>\n-      <path id="mdefd8787f3" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m3cb4e43754" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#mdefd8787f3" x="76.6" y="84.801688" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#m3cb4e43754" x="76.6" y="83.926688" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_23">\n@@ -1107,9 +1110,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_25"/>\n     <g id="text_24">\n      <!-- timepoint -->\n-     <g transform="translate(74.6 102.104813) scale(0.1 -0.1)">\n+     <g transform="translate(94.6 102.104813) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-6d" d="M 3328 2828 \n Q 3544 3216 3844 3400 \n@@ -1179,22 +1183,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_7">\n+    <g id="line2d_26">\n      <defs>\n-      <path id="m023c708e71" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m30bc096888" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m023c708e71" x="76.6" y="114.157938" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#m30bc096888" x="76.6" y="113.282938" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_25">\n@@ -1209,7 +1213,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="p51ed853460">\n+  <clipPath id="p23949f7454">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T2h--cell_pc.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--T2h--cell_pc.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,5 @@
+PC1 PC2 PC3 PC4 name_to_plot condition timepoint timenum compartment original_name
+3.418013 2.018827 -0.624963 0.0 Ctrl_cell_T2h-1 Control T2h 2 cell MCF001089_TD07
+-5.121119 -1.029264 -0.970952 0.0 Ctrl_cell_T2h-2 Control T2h 2 cell MCF001089_TD08
+5.604413 -1.686558 0.356619 0.0 L-Cyc_cell_T2h-1 L-Cycloserine T2h 2 cell MCF001089_TD25
+-3.901307 0.696996 1.239296 0.0 L-Cyc_cell_T2h-2 L-Cycloserine T2h 2 cell MCF001089_TD26
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T2h--cell_var.svg
--- a/test-data/abundances--T2h--cell_var.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T2h--cell_var.svg Wed Mar 27 16:47:56 2024 +0000
b
@@ -6,11 +6,11 @@
   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <cc:Work>
     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
-    <dc:date>2023-10-08T10:14:24.278168</dc:date>
+    <dc:date>2024-03-26T10:28:20.971900</dc:date>
     <dc:format>image/svg+xml</dc:format>
     <dc:creator>
      <cc:Agent>
-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>
+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>
      </cc:Agent>
     </dc:creator>
    </cc:Work>
@@ -43,7 +43,7 @@
 L 137.952 54.144 
 L 66.528 54.144 
 z
-" clip-path="url(#p5f41492c3f)" style="fill: #679698"/>
+" clip-path="url(#p034a823787)" style="fill: #679698"/>
    </g>
    <g id="patch_4">
     <path d="M 155.808 307.584 
@@ -51,7 +51,7 @@
 L 227.232 282.205534 
 L 155.808 282.205534 
 z
-" clip-path="url(#p5f41492c3f)" style="fill: #679698"/>
+" clip-path="url(#p034a823787)" style="fill: #679698"/>
    </g>
    <g id="patch_5">
     <path d="M 245.088 307.584 
@@ -59,7 +59,7 @@
 L 316.512 298.601127 
 L 245.088 298.601127 
 z
-" clip-path="url(#p5f41492c3f)" style="fill: #679698"/>
+" clip-path="url(#p034a823787)" style="fill: #679698"/>
    </g>
    <g id="patch_6">
     <path d="M 334.368 307.584 
@@ -67,18 +67,18 @@
 L 405.792 307.584 
 L 334.368 307.584 
 z
-" clip-path="url(#p5f41492c3f)" style="fill: #679698"/>
+" clip-path="url(#p034a823787)" style="fill: #679698"/>
    </g>
    <g id="matplotlib.axis_1">
     <g id="xtick_1">
      <g id="line2d_1">
       <defs>
-       <path id="m8a000d9070" d="M 0 0 
+       <path id="mb5f1761de4" d="M 0 0 
 L 0 3.5 
 " style="stroke: #000000; stroke-width: 0.8"/>
       </defs>
       <g>
-       <use xlink:href="#m8a000d9070" x="102.24" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mb5f1761de4" x="102.24" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_1">
@@ -151,7 +151,7 @@
     <g id="xtick_2">
      <g id="line2d_2">
       <g>
-       <use xlink:href="#m8a000d9070" x="191.52" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mb5f1761de4" x="191.52" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_2">
@@ -192,7 +192,7 @@
     <g id="xtick_3">
      <g id="line2d_3">
       <g>
-       <use xlink:href="#m8a000d9070" x="280.8" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mb5f1761de4" x="280.8" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_3">
@@ -241,7 +241,7 @@
     <g id="xtick_4">
      <g id="line2d_4">
       <g>
-       <use xlink:href="#m8a000d9070" x="370.08" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#mb5f1761de4" x="370.08" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_4">
@@ -286,12 +286,12 @@
     <g id="ytick_1">
      <g id="line2d_5">
       <defs>
-       <path id="m16ce64ea20" d="M 0 0 
+       <path id="ma526c5bc2f" d="M 0 0 
 L -3.5 0 
 " style="stroke: #000000; stroke-width: 0.8"/>
       </defs>
       <g>
-       <use xlink:href="#m16ce64ea20" x="57.6" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#ma526c5bc2f" x="57.6" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_6">
@@ -327,7 +327,7 @@
     <g id="ytick_2">
      <g id="line2d_6">
       <g>
-       <use xlink:href="#m16ce64ea20" x="57.6" y="250.023732" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#ma526c5bc2f" x="57.6" y="250.023732" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_7">
@@ -341,7 +341,7 @@
     <g id="ytick_3">
      <g id="line2d_7">
       <g>
-       <use xlink:href="#m16ce64ea20" x="57.6" y="192.463465" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#ma526c5bc2f" x="57.6" y="192.463465" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_8">
@@ -355,7 +355,7 @@
     <g id="ytick_4">
      <g id="line2d_8">
       <g>
-       <use xlink:href="#m16ce64ea20" x="57.6" y="134.903197" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#ma526c5bc2f" x="57.6" y="134.903197" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_9">
@@ -401,7 +401,7 @@
     <g id="ytick_5">
      <g id="line2d_9">
       <g>
-       <use xlink:href="#m16ce64ea20" x="57.6" y="77.342929" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#ma526c5bc2f" x="57.6" y="77.342929" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_10">
@@ -817,16 +817,16 @@
     </g>
    </g>
    <g id="line2d_10">
-    <path clip-path="url(#p5f41492c3f)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p034a823787)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_11">
-    <path clip-path="url(#p5f41492c3f)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p034a823787)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_12">
-    <path clip-path="url(#p5f41492c3f)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p034a823787)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_13">
-    <path clip-path="url(#p5f41492c3f)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p034a823787)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="patch_7">
     <path d="M 57.6 307.584 
@@ -1049,7 +1049,7 @@
   </g>
  </g>
  <defs>
-  <clipPath id="p5f41492c3f">
+  <clipPath id="p034a823787">
    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>
   </clipPath>
  </defs>
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T2h--cell_var.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--T2h--cell_var.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,5 @@
+Explained Variance % PC
+88.060744 PC1
+8.81805 PC2
+3.121206 PC3
+0.0 PC4
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T2h--med--label-n_pc.svg
--- a/test-data/abundances--T2h--med--label-n_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T2h--med--label-n_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.767663</dc:date>\n+    <dc:date>2024-03-26T10:28:21.346891</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,29 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n    <g id="line2d_1">\n     <path d="M 57.6 180.469006 \n L 414.72 180.469006 \n-" clip-path="url(#pad1d41484e)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p85ff2a3843)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 225.565425 307.584 \n L 225.565425 41.472 \n-" clip-path="url(#pad1d41484e)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p85ff2a3843)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="mb02fae8d53" d="M 0 0 \n+       <path id="m3ea6beabf7" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#mb02fae8d53" x="72.984722" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m3ea6beabf7" x="72.984722" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -101,7 +98,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#mb02fae8d53" x="149.275074" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m3ea6beabf7" x="149.275074" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -141,7 +138,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#mb02fae8d53" x="225.565425" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m3ea6beabf7" x="225.565425" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -177,7 +174,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#mb02fae8d53" x="301.855777" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m3ea6beabf7" x="301.855777" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -190,7 +187,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#mb02fae8d53" x="378.146129" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m3ea6beabf7" x="378.146129" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -435,12 +432,12 @@\n     <g id="ytick_1">\n      <g id="line2d_8">\n       <defs>\n-       <path id="m8c69413d52" d="M 0 0 \n+       <path id="m13e394f620" d="M 0 0 \n L -3.5 0 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m8c69413d52" x="57.6" y="298.091155" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m13e394f620" x="57.6" y="298.091155" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_7">\n@@ -454,7 +451,7 @@\n     <g id="ytick_2">\n      <g id="line2d_9">\n       <g'..b'.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #1f77b4"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m6f55a678ae" x="320.67625" y="70.123563" style="fill: #1f77b4; stroke: #1f77b4"/>\n+      <use xlink:href="#mdacbe097d5" x="320.67625" y="69.248563" style="fill: #1f77b4; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_14">\n@@ -794,22 +797,22 @@\n       <use xlink:href="#DejaVuSans-6c" x="333.638672"/>\n      </g>\n     </g>\n-    <g id="PathCollection_6">\n+    <g id="line2d_20">\n      <defs>\n-      <path id="mdee0fb65b2" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m6dad9dbed9" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#mdee0fb65b2" x="320.67625" y="84.801688" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#m6dad9dbed9" x="320.67625" y="83.926688" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_15">\n@@ -921,9 +924,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_21"/>\n     <g id="text_16">\n      <!-- timepoint -->\n-     <g transform="translate(318.67625 102.104813) scale(0.1 -0.1)">\n+     <g transform="translate(338.67625 102.104813) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-6d" d="M 3328 2828 \n Q 3544 3216 3844 3400 \n@@ -993,22 +997,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_7">\n+    <g id="line2d_22">\n      <defs>\n-      <path id="mf06695e424" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m516d73b258" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#mf06695e424" x="320.67625" y="114.157938" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#m516d73b258" x="320.67625" y="113.282938" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_17">\n@@ -1055,7 +1059,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="pad1d41484e">\n+  <clipPath id="p85ff2a3843">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T2h--med--label-y_pc.svg
--- a/test-data/abundances--T2h--med--label-y_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T2h--med--label-y_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.725828</dc:date>\n+    <dc:date>2024-03-26T10:28:21.313686</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,29 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n    <g id="line2d_1">\n     <path d="M 57.6 180.469006 \n L 414.72 180.469006 \n-" clip-path="url(#p53582d1623)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p313813b882)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 225.565425 307.584 \n L 225.565425 41.472 \n-" clip-path="url(#p53582d1623)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p313813b882)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="ma497676cff" d="M 0 0 \n+       <path id="mc217442148" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#ma497676cff" x="72.984722" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mc217442148" x="72.984722" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -101,7 +98,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#ma497676cff" x="149.275074" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mc217442148" x="149.275074" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -141,7 +138,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#ma497676cff" x="225.565425" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mc217442148" x="225.565425" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -177,7 +174,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#ma497676cff" x="301.855777" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mc217442148" x="301.855777" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -190,7 +187,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#ma497676cff" x="378.146129" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mc217442148" x="378.146129" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -435,12 +432,12 @@\n     <g id="ytick_1">\n      <g id="line2d_8">\n       <defs>\n-       <path id="m00d319ce43" d="M 0 0 \n+       <path id="m53bda6f250" d="M 0 0 \n L -3.5 0 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m00d319ce43" x="57.6" y="298.091155" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m53bda6f250" x="57.6" y="298.091155" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_7">\n@@ -454,7 +451,7 @@\n     <g id="ytick_2">\n      <g id="line2d_9">\n       <g'..b'24 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #1f77b4"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m3bc1ef08f5" x="320.67625" y="70.123563" style="fill: #1f77b4; stroke: #1f77b4"/>\n+      <use xlink:href="#m903794ce70" x="320.67625" y="69.248563" style="fill: #1f77b4; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_18">\n@@ -999,22 +1002,22 @@\n       <use xlink:href="#DejaVuSans-6c" x="333.638672"/>\n      </g>\n     </g>\n-    <g id="PathCollection_6">\n+    <g id="line2d_20">\n      <defs>\n-      <path id="m4c0ed3fe30" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m077de28465" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m4c0ed3fe30" x="320.67625" y="84.801688" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#m077de28465" x="320.67625" y="83.926688" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_19">\n@@ -1068,9 +1071,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_21"/>\n     <g id="text_20">\n      <!-- timepoint -->\n-     <g transform="translate(318.67625 102.104813) scale(0.1 -0.1)">\n+     <g transform="translate(338.67625 102.104813) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-70" d="M 1159 525 \n L 1159 -1331 \n@@ -1110,22 +1114,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_7">\n+    <g id="line2d_22">\n      <defs>\n-      <path id="m2ec08018b2" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m065f04b311" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m2ec08018b2" x="320.67625" y="114.157938" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#m065f04b311" x="320.67625" y="113.282938" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_21">\n@@ -1140,7 +1144,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="p53582d1623">\n+  <clipPath id="p313813b882">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T2h--med_pc.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--T2h--med_pc.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,5 @@
+PC1 PC2 PC3 PC4 name_to_plot condition timepoint timenum compartment original_name
+-3.78242 2.157774 0.512581 0.0 Ctrl_med_T2h-1 Control T2h 2 med MCF001089_TD43
+-3.977769 -1.955737 -0.734513 0.0 Ctrl_med_T2h-2 Control T2h 2 med MCF001089_TD44
+3.226932 -0.99365 1.522596 0.0 L-Cyc_med_T2h-1 L-Cycloserine T2h 2 med MCF001089_TD61
+4.533256 0.791612 -1.300663 0.0 L-Cyc_med_T2h-2 L-Cycloserine T2h 2 med MCF001089_TD62
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T2h--med_var.svg
--- a/test-data/abundances--T2h--med_var.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--T2h--med_var.svg Wed Mar 27 16:47:56 2024 +0000
b
@@ -6,11 +6,11 @@
   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <cc:Work>
     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
-    <dc:date>2023-10-08T10:14:24.687841</dc:date>
+    <dc:date>2024-03-26T10:28:21.282602</dc:date>
     <dc:format>image/svg+xml</dc:format>
     <dc:creator>
      <cc:Agent>
-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>
+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>
      </cc:Agent>
     </dc:creator>
    </cc:Work>
@@ -43,7 +43,7 @@
 L 137.952 54.144 
 L 66.528 54.144 
 z
-" clip-path="url(#pfc5496463b)" style="fill: #679698"/>
+" clip-path="url(#p72c3dab1fe)" style="fill: #679698"/>
    </g>
    <g id="patch_4">
     <path d="M 155.808 307.584 
@@ -51,7 +51,7 @@
 L 227.232 265.705973 
 L 155.808 265.705973 
 z
-" clip-path="url(#pfc5496463b)" style="fill: #679698"/>
+" clip-path="url(#p72c3dab1fe)" style="fill: #679698"/>
    </g>
    <g id="patch_5">
     <path d="M 245.088 307.584 
@@ -59,7 +59,7 @@
 L 316.512 287.620581 
 L 245.088 287.620581 
 z
-" clip-path="url(#pfc5496463b)" style="fill: #679698"/>
+" clip-path="url(#p72c3dab1fe)" style="fill: #679698"/>
    </g>
    <g id="patch_6">
     <path d="M 334.368 307.584 
@@ -67,18 +67,18 @@
 L 405.792 307.584 
 L 334.368 307.584 
 z
-" clip-path="url(#pfc5496463b)" style="fill: #679698"/>
+" clip-path="url(#p72c3dab1fe)" style="fill: #679698"/>
    </g>
    <g id="matplotlib.axis_1">
     <g id="xtick_1">
      <g id="line2d_1">
       <defs>
-       <path id="mdf35c07171" d="M 0 0 
+       <path id="m5f37090ce1" d="M 0 0 
 L 0 3.5 
 " style="stroke: #000000; stroke-width: 0.8"/>
       </defs>
       <g>
-       <use xlink:href="#mdf35c07171" x="102.24" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m5f37090ce1" x="102.24" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_1">
@@ -151,7 +151,7 @@
     <g id="xtick_2">
      <g id="line2d_2">
       <g>
-       <use xlink:href="#mdf35c07171" x="191.52" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m5f37090ce1" x="191.52" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_2">
@@ -192,7 +192,7 @@
     <g id="xtick_3">
      <g id="line2d_3">
       <g>
-       <use xlink:href="#mdf35c07171" x="280.8" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m5f37090ce1" x="280.8" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_3">
@@ -241,7 +241,7 @@
     <g id="xtick_4">
      <g id="line2d_4">
       <g>
-       <use xlink:href="#mdf35c07171" x="370.08" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m5f37090ce1" x="370.08" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_4">
@@ -286,12 +286,12 @@
     <g id="ytick_1">
      <g id="line2d_5">
       <defs>
-       <path id="mb8e29c46c0" d="M 0 0 
+       <path id="m348437c01d" d="M 0 0 
 L -3.5 0 
 " style="stroke: #000000; stroke-width: 0.8"/>
       </defs>
       <g>
-       <use xlink:href="#mb8e29c46c0" x="57.6" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m348437c01d" x="57.6" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_6">
@@ -327,7 +327,7 @@
     <g id="ytick_2">
      <g id="line2d_6">
       <g>
-       <use xlink:href="#mb8e29c46c0" x="57.6" y="276.055855" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m348437c01d" x="57.6" y="276.055855" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_7">
@@ -341,7 +341,7 @@
     <g id="ytick_3">
      <g id="line2d_7">
       <g>
-       <use xlink:href="#mb8e29c46c0" x="57.6" y="244.527711" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m348437c01d" x="57.6" y="244.527711" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_8">
@@ -355,7 +355,7 @@
     <g id="ytick_4">
      <g id="line2d_8">
       <g>
-       <use xlink:href="#mb8e29c46c0" x="57.6" y="212.999566" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m348437c01d" x="57.6" y="212.999566" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_9">
@@ -369,7 +369,7 @@
     <g id="ytick_5">
      <g id="line2d_9">
       <g>
-       <use xlink:href="#mb8e29c46c0" x="57.6" y="181.471421" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m348437c01d" x="57.6" y="181.471421" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_10">
@@ -383,7 +383,7 @@
     <g id="ytick_6">
      <g id="line2d_10">
       <g>
-       <use xlink:href="#mb8e29c46c0" x="57.6" y="149.943277" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m348437c01d" x="57.6" y="149.943277" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_11">
@@ -424,7 +424,7 @@
     <g id="ytick_7">
      <g id="line2d_11">
       <g>
-       <use xlink:href="#mb8e29c46c0" x="57.6" y="118.415132" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m348437c01d" x="57.6" y="118.415132" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_12">
@@ -470,7 +470,7 @@
     <g id="ytick_8">
      <g id="line2d_12">
       <g>
-       <use xlink:href="#mb8e29c46c0" x="57.6" y="86.886987" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m348437c01d" x="57.6" y="86.886987" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_13">
@@ -496,7 +496,7 @@
     <g id="ytick_9">
      <g id="line2d_13">
       <g>
-       <use xlink:href="#mb8e29c46c0" x="57.6" y="55.358842" style="stroke: #000000; stroke-width: 0.8"/>
+       <use xlink:href="#m348437c01d" x="57.6" y="55.358842" style="stroke: #000000; stroke-width: 0.8"/>
       </g>
      </g>
      <g id="text_14">
@@ -912,16 +912,16 @@
     </g>
    </g>
    <g id="line2d_14">
-    <path clip-path="url(#pfc5496463b)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p72c3dab1fe)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_15">
-    <path clip-path="url(#pfc5496463b)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p72c3dab1fe)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_16">
-    <path clip-path="url(#pfc5496463b)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p72c3dab1fe)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="line2d_17">
-    <path clip-path="url(#pfc5496463b)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>
+    <path clip-path="url(#p72c3dab1fe)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>
    </g>
    <g id="patch_7">
     <path d="M 57.6 307.584 
@@ -1144,7 +1144,7 @@
   </g>
  </g>
  <defs>
-  <clipPath id="pfc5496463b">
+  <clipPath id="p72c3dab1fe">
    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>
   </clipPath>
  </defs>
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--T2h--med_var.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--T2h--med_var.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,5 @@
+Explained Variance % PC
+80.38532 PC1
+13.282744 PC2
+6.331936 PC3
+0.0 PC4
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--cell--label-n_pc.svg
--- a/test-data/abundances--cell--label-n_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--cell--label-n_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.121728</dc:date>\n+    <dc:date>2024-03-26T10:28:20.809039</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,30 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n-   <g id="PathCollection_4"/>\n    <g id="line2d_1">\n     <path d="M 57.6 176.402911 \n L 414.72 176.402911 \n-" clip-path="url(#pa7d907f9d8)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#ped65f9af6a)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 232.393495 307.584 \n L 232.393495 41.472 \n-" clip-path="url(#pa7d907f9d8)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#ped65f9af6a)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="ma9ebdf8a58" d="M 0 0 \n+       <path id="m7ea876bc52" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#ma9ebdf8a58" x="68.543372" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m7ea876bc52" x="68.543372" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -113,7 +109,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#ma9ebdf8a58" x="123.16008" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m7ea876bc52" x="123.16008" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -148,7 +144,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#ma9ebdf8a58" x="177.776788" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m7ea876bc52" x="177.776788" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -188,7 +184,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#ma9ebdf8a58" x="232.393495" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m7ea876bc52" x="232.393495" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -224,7 +220,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#ma9ebdf8a58" x="287.010203" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m7ea876bc52" x="287.010203" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -237,7 +233,7 @@\n     <g id="xtick_6">\n      <g id="line2d_8">\n       <g>\n-       <use xlink:href="#ma9ebdf8a58" x="341.626911" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m7ea876bc52" x="341.626911" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_6">\n@@ -250,7 +246,7 @@\n     <g id="xtick_7">\n      <g id="line2d_9">\n       <g>\n-       <use xlink:href="#ma9ebdf8a58" x="396.243618" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href'..b'<path id="m30480a26e9" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#mac344c5020" x="320.67625" y="84.801688" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#m30480a26e9" x="320.67625" y="83.926688" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_19">\n@@ -1033,9 +1036,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_26"/>\n     <g id="text_20">\n      <!-- timepoint -->\n-     <g transform="translate(318.67625 102.104813) scale(0.1 -0.1)">\n+     <g transform="translate(338.67625 102.104813) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-6d" d="M 3328 2828 \n Q 3544 3216 3844 3400 \n@@ -1105,22 +1109,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_8">\n+    <g id="line2d_27">\n      <defs>\n-      <path id="m29f07a51c2" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="mf383c01fdc" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m29f07a51c2" x="320.67625" y="114.157938" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#mf383c01fdc" x="320.67625" y="113.282938" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_21">\n@@ -1143,25 +1147,25 @@\n       <use xlink:href="#DejaVuSans-30" x="61.083984"/>\n      </g>\n     </g>\n-    <g id="PathCollection_9">\n+    <g id="line2d_28">\n      <defs>\n-      <path id="m09d738a6d5" d="M -1.5 3 \n-L 0 1.5 \n-L 1.5 3 \n-L 3 1.5 \n-L 1.5 0 \n-L 3 -1.5 \n-L 1.5 -3 \n-L 0 -1.5 \n-L -1.5 -3 \n-L -3 -1.5 \n-L -1.5 0 \n-L -3 1.5 \n+      <path id="mc020e762bd" d="M -2.236068 4.472136 \n+L 0 2.236068 \n+L 2.236068 4.472136 \n+L 4.472136 2.236068 \n+L 2.236068 0 \n+L 4.472136 -2.236068 \n+L 2.236068 -4.472136 \n+L 0 -2.236068 \n+L -2.236068 -4.472136 \n+L -4.472136 -2.236068 \n+L -2.236068 0 \n+L -4.472136 2.236068 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542; stroke-linejoin: miter"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m09d738a6d5" x="320.67625" y="128.836063" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#mc020e762bd" x="320.67625" y="127.961063" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542; stroke-linejoin: miter"/>\n      </g>\n     </g>\n     <g id="text_22">\n@@ -1197,7 +1201,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="pa7d907f9d8">\n+  <clipPath id="ped65f9af6a">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--cell--label-y_pc.svg
--- a/test-data/abundances--cell--label-y_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--cell--label-y_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.068925</dc:date>\n+    <dc:date>2024-03-26T10:28:20.766162</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,30 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n-   <g id="PathCollection_4"/>\n    <g id="line2d_1">\n     <path d="M 57.6 176.402911 \n L 414.72 176.402911 \n-" clip-path="url(#pc050c770e5)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p504d07b906)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 232.393495 307.584 \n L 232.393495 41.472 \n-" clip-path="url(#pc050c770e5)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p504d07b906)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="m9986aebc12" d="M 0 0 \n+       <path id="mb2b00493bd" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m9986aebc12" x="68.543372" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb2b00493bd" x="68.543372" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -113,7 +109,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#m9986aebc12" x="123.16008" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb2b00493bd" x="123.16008" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -148,7 +144,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#m9986aebc12" x="177.776788" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb2b00493bd" x="177.776788" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -188,7 +184,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#m9986aebc12" x="232.393495" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb2b00493bd" x="232.393495" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -224,7 +220,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#m9986aebc12" x="287.010203" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb2b00493bd" x="287.010203" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -237,7 +233,7 @@\n     <g id="xtick_6">\n      <g id="line2d_8">\n       <g>\n-       <use xlink:href="#m9986aebc12" x="341.626911" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mb2b00493bd" x="341.626911" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_6">\n@@ -250,7 +246,7 @@\n     <g id="xtick_7">\n      <g id="line2d_9">\n       <g>\n-       <use xlink:href="#m9986aebc12" x="396.243618" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href'..b'<path id="m330c0571bb" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#ma9a0bec2b3" x="320.67625" y="84.801688" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#m330c0571bb" x="320.67625" y="83.926688" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_27">\n@@ -1234,9 +1237,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_26"/>\n     <g id="text_28">\n      <!-- timepoint -->\n-     <g transform="translate(318.67625 102.104813) scale(0.1 -0.1)">\n+     <g transform="translate(338.67625 102.104813) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-6d" d="M 3328 2828 \n Q 3544 3216 3844 3400 \n@@ -1306,22 +1310,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_8">\n+    <g id="line2d_27">\n      <defs>\n-      <path id="m47ef6d1aa5" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m5f202754c0" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m47ef6d1aa5" x="320.67625" y="114.157938" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#m5f202754c0" x="320.67625" y="113.282938" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_29">\n@@ -1331,25 +1335,25 @@\n       <use xlink:href="#DejaVuSans-30" x="61.083984"/>\n      </g>\n     </g>\n-    <g id="PathCollection_9">\n+    <g id="line2d_28">\n      <defs>\n-      <path id="m11981f5fb6" d="M -1.5 3 \n-L 0 1.5 \n-L 1.5 3 \n-L 3 1.5 \n-L 1.5 0 \n-L 3 -1.5 \n-L 1.5 -3 \n-L 0 -1.5 \n-L -1.5 -3 \n-L -3 -1.5 \n-L -1.5 0 \n-L -3 1.5 \n+      <path id="ma5a9301256" d="M -2.236068 4.472136 \n+L 0 2.236068 \n+L 2.236068 4.472136 \n+L 4.472136 2.236068 \n+L 2.236068 0 \n+L 4.472136 -2.236068 \n+L 2.236068 -4.472136 \n+L 0 -2.236068 \n+L -2.236068 -4.472136 \n+L -4.472136 -2.236068 \n+L -2.236068 0 \n+L -4.472136 2.236068 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542; stroke-linejoin: miter"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m11981f5fb6" x="320.67625" y="128.836063" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#ma5a9301256" x="320.67625" y="127.961063" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542; stroke-linejoin: miter"/>\n      </g>\n     </g>\n     <g id="text_30">\n@@ -1364,7 +1368,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="pc050c770e5">\n+  <clipPath id="p504d07b906">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--cell_pc.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--cell_pc.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,9 @@
+PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 name_to_plot condition timepoint timenum compartment original_name
+6.08216 -0.21243 2.741629 -0.415911 -0.034854 -0.297123 0.029912 0.0 Ctrl_cell_T0-1 Control T0 0 cell MCF001089_TD01
+4.441447 -3.400088 -2.014018 -0.157591 -0.036533 0.034759 0.178162 0.0 Ctrl_cell_T0-2 Control T0 0 cell MCF001089_TD02
+-4.500212 -0.722539 -0.451432 -1.053058 0.388746 -0.337473 -0.380903 0.0 Ctrl_cell_T2h-1 Control T2h 2 cell MCF001089_TD07
+2.559191 3.507152 -1.423484 -0.413442 -0.773312 0.004868 -0.038496 0.0 Ctrl_cell_T2h-2 Control T2h 2 cell MCF001089_TD08
+-0.401209 -0.824396 0.821053 0.46477 -0.229954 0.808554 -0.295096 0.0 L-Cyc_cell_T0-1 L-Cycloserine T0 0 cell MCF001089_TD19
+-4.205021 -0.692778 0.222305 1.352186 -0.581771 -0.490783 0.027384 0.0 L-Cyc_cell_T0-2 L-Cycloserine T0 0 cell MCF001089_TD20
+-5.80631 0.441183 0.660591 -0.656464 0.098959 0.278277 0.454242 0.0 L-Cyc_cell_T2h-1 L-Cycloserine T2h 2 cell MCF001089_TD25
+1.829954 1.903895 -0.556645 0.87951 1.16872 -0.001079 0.024794 0.0 L-Cyc_cell_T2h-2 L-Cycloserine T2h 2 cell MCF001089_TD26
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--cell_var.svg
--- a/test-data/abundances--cell_var.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--cell_var.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.022373</dc:date>\n+    <dc:date>2024-03-26T10:28:20.721169</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -43,7 +43,7 @@\n L 97.776 54.144 \n L 62.064 54.144 \n z\n-" clip-path="url(#pc8c9f6ba16)" style="fill: #679698"/>\n+" clip-path="url(#p9ba8cd025a)" style="fill: #679698"/>\n    </g>\n    <g id="patch_4">\n     <path d="M 106.704 307.584 \n@@ -51,7 +51,7 @@\n L 142.416 253.743596 \n L 106.704 253.743596 \n z\n-" clip-path="url(#pc8c9f6ba16)" style="fill: #679698"/>\n+" clip-path="url(#p9ba8cd025a)" style="fill: #679698"/>\n    </g>\n    <g id="patch_5">\n     <path d="M 151.344 307.584 \n@@ -59,7 +59,7 @@\n L 187.056 279.621642 \n L 151.344 279.621642 \n z\n-" clip-path="url(#pc8c9f6ba16)" style="fill: #679698"/>\n+" clip-path="url(#p9ba8cd025a)" style="fill: #679698"/>\n    </g>\n    <g id="patch_6">\n     <path d="M 195.984 307.584 \n@@ -67,7 +67,7 @@\n L 231.696 298.930218 \n L 195.984 298.930218 \n z\n-" clip-path="url(#pc8c9f6ba16)" style="fill: #679698"/>\n+" clip-path="url(#p9ba8cd025a)" style="fill: #679698"/>\n    </g>\n    <g id="patch_7">\n     <path d="M 240.624 307.584 \n@@ -75,7 +75,7 @@\n L 276.336 302.97254 \n L 240.624 302.97254 \n z\n-" clip-path="url(#pc8c9f6ba16)" style="fill: #679698"/>\n+" clip-path="url(#p9ba8cd025a)" style="fill: #679698"/>\n    </g>\n    <g id="patch_8">\n     <path d="M 285.264 307.584 \n@@ -83,7 +83,7 @@\n L 320.976 305.431865 \n L 285.264 305.431865 \n z\n-" clip-path="url(#pc8c9f6ba16)" style="fill: #679698"/>\n+" clip-path="url(#p9ba8cd025a)" style="fill: #679698"/>\n    </g>\n    <g id="patch_9">\n     <path d="M 329.904 307.584 \n@@ -91,7 +91,7 @@\n L 365.616 306.716186 \n L 329.904 306.716186 \n z\n-" clip-path="url(#pc8c9f6ba16)" style="fill: #679698"/>\n+" clip-path="url(#p9ba8cd025a)" style="fill: #679698"/>\n    </g>\n    <g id="patch_10">\n     <path d="M 374.544 307.584 \n@@ -99,18 +99,18 @@\n L 410.256 307.584 \n L 374.544 307.584 \n z\n-" clip-path="url(#pc8c9f6ba16)" style="fill: #679698"/>\n+" clip-path="url(#p9ba8cd025a)" style="fill: #679698"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_1">\n       <defs>\n-       <path id="m2c8a419875" d="M 0 0 \n+       <path id="md7b73a1cf0" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m2c8a419875" x="79.92" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#md7b73a1cf0" x="79.92" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -183,7 +183,7 @@\n     <g id="xtick_2">\n      <g id="line2d_2">\n       <g>\n-       <use xlink:href="#m2c8a419875" x="124.56" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#md7b73a1cf0" x="124.56" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -224,7 +224,7 @@\n     <g id="xtick_3">\n      <g id="line2d_3">\n       <g>\n-       <use xlink:href="#m2c8a419875" x="169.2" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#md7b73a1cf0" x="169.2" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -273,7 +273,7 @@\n     <g id="xtick_4">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#m2c8a419875" x="213.84" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#md7b73a1cf0" x="213.84" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>'..b'k:href="#m40c3354606" x="57.6" y="202.125615" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_13">\n@@ -573,7 +573,7 @@\n     <g id="ytick_5">\n      <g id="line2d_13">\n       <g>\n-       <use xlink:href="#ma7cfda34e5" x="57.6" y="166.972819" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m40c3354606" x="57.6" y="166.972819" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_14">\n@@ -587,7 +587,7 @@\n     <g id="ytick_6">\n      <g id="line2d_14">\n       <g>\n-       <use xlink:href="#ma7cfda34e5" x="57.6" y="131.820024" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m40c3354606" x="57.6" y="131.820024" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_15">\n@@ -601,7 +601,7 @@\n     <g id="ytick_7">\n      <g id="line2d_15">\n       <g>\n-       <use xlink:href="#ma7cfda34e5" x="57.6" y="96.667229" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m40c3354606" x="57.6" y="96.667229" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_16">\n@@ -615,7 +615,7 @@\n     <g id="ytick_8">\n      <g id="line2d_16">\n       <g>\n-       <use xlink:href="#ma7cfda34e5" x="57.6" y="61.514434" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m40c3354606" x="57.6" y="61.514434" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_17">\n@@ -990,28 +990,28 @@\n     </g>\n    </g>\n    <g id="line2d_17">\n-    <path clip-path="url(#pc8c9f6ba16)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p9ba8cd025a)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_18">\n-    <path clip-path="url(#pc8c9f6ba16)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p9ba8cd025a)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_19">\n-    <path clip-path="url(#pc8c9f6ba16)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p9ba8cd025a)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_20">\n-    <path clip-path="url(#pc8c9f6ba16)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p9ba8cd025a)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_21">\n-    <path clip-path="url(#pc8c9f6ba16)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p9ba8cd025a)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_22">\n-    <path clip-path="url(#pc8c9f6ba16)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p9ba8cd025a)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_23">\n-    <path clip-path="url(#pc8c9f6ba16)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p9ba8cd025a)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_24">\n-    <path clip-path="url(#pc8c9f6ba16)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p9ba8cd025a)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="patch_11">\n     <path d="M 57.6 307.584 \n@@ -1234,7 +1234,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="pc8c9f6ba16">\n+  <clipPath id="p9ba8cd025a">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--cell_var.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--cell_var.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,9 @@
+Explained Variance % PC
+72.096685 PC1
+15.316109 PC2
+7.954519 PC3
+2.461762 PC4
+1.311833 PC5
+0.612223 PC6
+0.246869 PC7
+0.0 PC8
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--med--label-n_pc.svg
--- a/test-data/abundances--med--label-n_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--med--label-n_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.540670</dc:date>\n+    <dc:date>2024-03-26T10:28:21.148615</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,30 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n-   <g id="PathCollection_4"/>\n    <g id="line2d_1">\n     <path d="M 57.6 178.588358 \n L 414.72 178.588358 \n-" clip-path="url(#p44cb798893)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p3049e9e9ca)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 228.409229 307.584 \n L 228.409229 41.472 \n-" clip-path="url(#p44cb798893)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#p3049e9e9ca)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="m9aa96e2a99" d="M 0 0 \n+       <path id="m6886e7988a" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m9aa96e2a99" x="101.021635" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m6886e7988a" x="101.021635" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -102,7 +98,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#m9aa96e2a99" x="164.715432" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m6886e7988a" x="164.715432" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -142,7 +138,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#m9aa96e2a99" x="228.409229" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m6886e7988a" x="228.409229" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -178,7 +174,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#m9aa96e2a99" x="292.103026" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m6886e7988a" x="292.103026" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -191,7 +187,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#m9aa96e2a99" x="355.796824" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m6886e7988a" x="355.796824" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -396,12 +392,12 @@\n     <g id="ytick_1">\n      <g id="line2d_8">\n       <defs>\n-       <path id="m59a8da7810" d="M 0 0 \n+       <path id="m61fda6777f" d="M 0 0 \n L -3.5 0 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m59a8da7810" x="57.6" y="293.159906" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m61fda6777f" x="57.6" y="293.159906" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_7">\n@@ -415,7 +411,7 @@\n     <g id="ytick_2">\n'..b'<path id="m0bf2b59903" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#mcaff3d3c6c" x="320.67625" y="249.844937" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#m0bf2b59903" x="320.67625" y="248.969937" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_15">\n@@ -950,9 +953,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_22"/>\n     <g id="text_16">\n      <!-- timepoint -->\n-     <g transform="translate(318.67625 267.148062) scale(0.1 -0.1)">\n+     <g transform="translate(338.67625 267.148062) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-6d" d="M 3328 2828 \n Q 3544 3216 3844 3400 \n@@ -1022,22 +1026,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_8">\n+    <g id="line2d_23">\n      <defs>\n-      <path id="mf207b4afaf" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="m396a234b25" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#mf207b4afaf" x="320.67625" y="279.201188" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#m396a234b25" x="320.67625" y="278.326188" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_17">\n@@ -1060,25 +1064,25 @@\n       <use xlink:href="#DejaVuSans-30" x="61.083984"/>\n      </g>\n     </g>\n-    <g id="PathCollection_9">\n+    <g id="line2d_24">\n      <defs>\n-      <path id="m596cf77e44" d="M -1.5 3 \n-L 0 1.5 \n-L 1.5 3 \n-L 3 1.5 \n-L 1.5 0 \n-L 3 -1.5 \n-L 1.5 -3 \n-L 0 -1.5 \n-L -1.5 -3 \n-L -3 -1.5 \n-L -1.5 0 \n-L -3 1.5 \n+      <path id="m6e9cf7c3e7" d="M -2.236068 4.472136 \n+L 0 2.236068 \n+L 2.236068 4.472136 \n+L 4.472136 2.236068 \n+L 2.236068 0 \n+L 4.472136 -2.236068 \n+L 2.236068 -4.472136 \n+L 0 -2.236068 \n+L -2.236068 -4.472136 \n+L -4.472136 -2.236068 \n+L -2.236068 0 \n+L -4.472136 2.236068 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542; stroke-linejoin: miter"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m596cf77e44" x="320.67625" y="293.879312" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#m6e9cf7c3e7" x="320.67625" y="293.004312" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542; stroke-linejoin: miter"/>\n      </g>\n     </g>\n     <g id="text_18">\n@@ -1114,7 +1118,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="p44cb798893">\n+  <clipPath id="p3049e9e9ca">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--med--label-y_pc.svg
--- a/test-data/abundances--med--label-y_pc.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--med--label-y_pc.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.489990</dc:date>\n+    <dc:date>2024-03-26T10:28:21.111584</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -37,30 +37,26 @@\n z\n " style="fill: #ffffff"/>\n    </g>\n-   <g id="PathCollection_1"/>\n-   <g id="PathCollection_2"/>\n-   <g id="PathCollection_3"/>\n-   <g id="PathCollection_4"/>\n    <g id="line2d_1">\n     <path d="M 57.6 178.588358 \n L 414.72 178.588358 \n-" clip-path="url(#paa0345d2e3)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#pcf08ee3233)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="line2d_2">\n     <path d="M 228.409229 307.584 \n L 228.409229 41.472 \n-" clip-path="url(#paa0345d2e3)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n+" clip-path="url(#pcf08ee3233)" style="fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #808080; stroke-width: 1.5"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_3">\n       <defs>\n-       <path id="m767b76ee00" d="M 0 0 \n+       <path id="m34de309ea3" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m767b76ee00" x="101.021635" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m34de309ea3" x="101.021635" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -102,7 +98,7 @@\n     <g id="xtick_2">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#m767b76ee00" x="164.715432" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m34de309ea3" x="164.715432" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -142,7 +138,7 @@\n     <g id="xtick_3">\n      <g id="line2d_5">\n       <g>\n-       <use xlink:href="#m767b76ee00" x="228.409229" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m34de309ea3" x="228.409229" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -178,7 +174,7 @@\n     <g id="xtick_4">\n      <g id="line2d_6">\n       <g>\n-       <use xlink:href="#m767b76ee00" x="292.103026" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m34de309ea3" x="292.103026" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_4">\n@@ -191,7 +187,7 @@\n     <g id="xtick_5">\n      <g id="line2d_7">\n       <g>\n-       <use xlink:href="#m767b76ee00" x="355.796824" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m34de309ea3" x="355.796824" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_5">\n@@ -396,12 +392,12 @@\n     <g id="ytick_1">\n      <g id="line2d_8">\n       <defs>\n-       <path id="m7f60f53928" d="M 0 0 \n+       <path id="mfa407a1fc0" d="M 0 0 \n L -3.5 0 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#m7f60f53928" x="57.6" y="293.159906" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mfa407a1fc0" x="57.6" y="293.159906" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_7">\n@@ -415,7 +411,7 @@\n     <g id="ytick_2">\n'..b'\n+      <path id="meb560db942" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #ff7f0e"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m174b65ebe9" x="320.67625" y="249.844937" style="fill: #ff7f0e; stroke: #ff7f0e"/>\n+      <use xlink:href="#meb560db942" x="320.67625" y="248.969937" style="fill: #ff7f0e; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_23">\n@@ -1173,9 +1176,10 @@\n       <use xlink:href="#DejaVuSans-65" x="608.894531"/>\n      </g>\n     </g>\n+    <g id="line2d_22"/>\n     <g id="text_24">\n      <!-- timepoint -->\n-     <g transform="translate(318.67625 267.148062) scale(0.1 -0.1)">\n+     <g transform="translate(338.67625 267.148062) scale(0.1 -0.1)">\n       <defs>\n        <path id="DejaVuSans-70" d="M 1159 525 \n L 1159 -1331 \n@@ -1215,22 +1219,22 @@\n       <use xlink:href="#DejaVuSans-74" x="441.748047"/>\n      </g>\n     </g>\n-    <g id="PathCollection_8">\n+    <g id="line2d_23">\n      <defs>\n-      <path id="m7469eb0427" d="M 0 3 \n-C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n-C 2.683901 1.55874 3 0.795609 3 0 \n-C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n-C 1.55874 -2.683901 0.795609 -3 0 -3 \n-C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n-C -2.683901 -1.55874 -3 -0.795609 -3 0 \n-C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n-C -1.55874 2.683901 -0.795609 3 0 3 \n+      <path id="meeea51ac38" d="M 0 4.472136 \n+C 1.186024 4.472136 2.323632 4.000923 3.162278 3.162278 \n+C 4.000923 2.323632 4.472136 1.186024 4.472136 0 \n+C 4.472136 -1.186024 4.000923 -2.323632 3.162278 -3.162278 \n+C 2.323632 -4.000923 1.186024 -4.472136 0 -4.472136 \n+C -1.186024 -4.472136 -2.323632 -4.000923 -3.162278 -3.162278 \n+C -4.000923 -2.323632 -4.472136 -1.186024 -4.472136 0 \n+C -4.472136 1.186024 -4.000923 2.323632 -3.162278 3.162278 \n+C -2.323632 4.000923 -1.186024 4.472136 0 4.472136 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m7469eb0427" x="320.67625" y="279.201188" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#meeea51ac38" x="320.67625" y="278.326188" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542"/>\n      </g>\n     </g>\n     <g id="text_25">\n@@ -1240,25 +1244,25 @@\n       <use xlink:href="#DejaVuSans-30" x="61.083984"/>\n      </g>\n     </g>\n-    <g id="PathCollection_9">\n+    <g id="line2d_24">\n      <defs>\n-      <path id="m483c915a3e" d="M -1.5 3 \n-L 0 1.5 \n-L 1.5 3 \n-L 3 1.5 \n-L 1.5 0 \n-L 3 -1.5 \n-L 1.5 -3 \n-L 0 -1.5 \n-L -1.5 -3 \n-L -3 -1.5 \n-L -1.5 0 \n-L -3 1.5 \n+      <path id="mdd711f9bc7" d="M -2.236068 4.472136 \n+L 0 2.236068 \n+L 2.236068 4.472136 \n+L 4.472136 2.236068 \n+L 2.236068 0 \n+L 4.472136 -2.236068 \n+L 2.236068 -4.472136 \n+L 0 -2.236068 \n+L -2.236068 -4.472136 \n+L -4.472136 -2.236068 \n+L -2.236068 0 \n+L -4.472136 2.236068 \n z\n-" style="stroke: #333333"/>\n+" style="stroke: #ffffff; stroke-width: 0.715542; stroke-linejoin: miter"/>\n      </defs>\n      <g>\n-      <use xlink:href="#m483c915a3e" x="320.67625" y="293.879312" style="fill: #333333; stroke: #333333"/>\n+      <use xlink:href="#mdd711f9bc7" x="320.67625" y="293.004312" style="fill: #333333; stroke: #ffffff; stroke-width: 0.715542; stroke-linejoin: miter"/>\n      </g>\n     </g>\n     <g id="text_26">\n@@ -1273,7 +1277,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="paa0345d2e3">\n+  <clipPath id="pcf08ee3233">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--med_pc.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--med_pc.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,9 @@
+PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 name_to_plot condition timepoint timenum compartment original_name
+0.497858 -1.288582 -1.389333 -0.555885 -0.730438 0.350857 0.921654 0.0 Ctrl_med_T0-1 Control T0 0 med MCF001089_TD37
+-0.227056 -2.04064 -1.037382 1.610458 -0.114827 -0.975457 -0.316415 0.0 Ctrl_med_T0-2 Control T0 0 med MCF001089_TD38
+5.34049 0.302402 -1.640738 -0.705883 0.986716 0.41975 -0.390784 0.0 Ctrl_med_T2h-1 Control T2h 2 med MCF001089_TD43
+5.216069 1.887248 1.805202 0.206311 -0.502121 -0.63904 0.233478 0.0 Ctrl_med_T2h-2 Control T2h 2 med MCF001089_TD44
+-2.252063 -1.884142 2.013271 -1.405819 0.885597 -0.274832 0.0741 0.0 L-Cyc_med_T0-1 L-Cycloserine T0 0 med MCF001089_TD55
+-0.416714 -0.744703 1.175838 0.374082 -0.971745 1.065475 -0.588613 0.0 L-Cyc_med_T0-2 L-Cycloserine T0 0 med MCF001089_TD56
+-3.304845 1.586019 0.211576 1.704368 0.933156 0.50291 0.37653 0.0 L-Cyc_med_T2h-1 L-Cycloserine T2h 2 med MCF001089_TD61
+-4.853738 2.182398 -1.138435 -1.227633 -0.486337 -0.449663 -0.309949 0.0 L-Cyc_med_T2h-2 L-Cycloserine T2h 2 med MCF001089_TD62
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--med_var.svg
--- a/test-data/abundances--med_var.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/abundances--med_var.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -6,11 +6,11 @@\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:24.449467</dc:date>\n+    <dc:date>2024-03-26T10:28:21.076552</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -43,7 +43,7 @@\n L 97.776 54.144 \n L 62.064 54.144 \n z\n-" clip-path="url(#p588769e291)" style="fill: #679698"/>\n+" clip-path="url(#p09c77ad9a2)" style="fill: #679698"/>\n    </g>\n    <g id="patch_4">\n     <path d="M 106.704 307.584 \n@@ -51,7 +51,7 @@\n L 142.416 252.370171 \n L 106.704 252.370171 \n z\n-" clip-path="url(#p588769e291)" style="fill: #679698"/>\n+" clip-path="url(#p09c77ad9a2)" style="fill: #679698"/>\n    </g>\n    <g id="patch_5">\n     <path d="M 151.344 307.584 \n@@ -59,7 +59,7 @@\n L 187.056 265.939895 \n L 151.344 265.939895 \n z\n-" clip-path="url(#p588769e291)" style="fill: #679698"/>\n+" clip-path="url(#p09c77ad9a2)" style="fill: #679698"/>\n    </g>\n    <g id="patch_6">\n     <path d="M 195.984 307.584 \n@@ -67,7 +67,7 @@\n L 231.696 281.19121 \n L 195.984 281.19121 \n z\n-" clip-path="url(#p588769e291)" style="fill: #679698"/>\n+" clip-path="url(#p09c77ad9a2)" style="fill: #679698"/>\n    </g>\n    <g id="patch_7">\n     <path d="M 240.624 307.584 \n@@ -75,7 +75,7 @@\n L 276.336 295.386725 \n L 240.624 295.386725 \n z\n-" clip-path="url(#p588769e291)" style="fill: #679698"/>\n+" clip-path="url(#p09c77ad9a2)" style="fill: #679698"/>\n    </g>\n    <g id="patch_8">\n     <path d="M 285.264 307.584 \n@@ -83,7 +83,7 @@\n L 320.976 298.783261 \n L 285.264 298.783261 \n z\n-" clip-path="url(#p588769e291)" style="fill: #679698"/>\n+" clip-path="url(#p09c77ad9a2)" style="fill: #679698"/>\n    </g>\n    <g id="patch_9">\n     <path d="M 329.904 307.584 \n@@ -91,7 +91,7 @@\n L 365.616 302.961154 \n L 329.904 302.961154 \n z\n-" clip-path="url(#p588769e291)" style="fill: #679698"/>\n+" clip-path="url(#p09c77ad9a2)" style="fill: #679698"/>\n    </g>\n    <g id="patch_10">\n     <path d="M 374.544 307.584 \n@@ -99,18 +99,18 @@\n L 410.256 307.584 \n L 374.544 307.584 \n z\n-" clip-path="url(#p588769e291)" style="fill: #679698"/>\n+" clip-path="url(#p09c77ad9a2)" style="fill: #679698"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_1">\n       <defs>\n-       <path id="mfd06e0eb9c" d="M 0 0 \n+       <path id="m6004814371" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#mfd06e0eb9c" x="79.92" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m6004814371" x="79.92" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n@@ -183,7 +183,7 @@\n     <g id="xtick_2">\n      <g id="line2d_2">\n       <g>\n-       <use xlink:href="#mfd06e0eb9c" x="124.56" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m6004814371" x="124.56" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_2">\n@@ -224,7 +224,7 @@\n     <g id="xtick_3">\n      <g id="line2d_3">\n       <g>\n-       <use xlink:href="#mfd06e0eb9c" x="169.2" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m6004814371" x="169.2" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_3">\n@@ -273,7 +273,7 @@\n     <g id="xtick_4">\n      <g id="line2d_4">\n       <g>\n-       <use xlink:href="#mfd06e0eb9c" x="213.84" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m6004814371" x="213.84" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>'..b'k:href="#m62b5ee96f1" x="57.6" y="227.121683" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_12">\n@@ -559,7 +559,7 @@\n     <g id="ytick_4">\n      <g id="line2d_12">\n       <g>\n-       <use xlink:href="#med97811871" x="57.6" y="186.890525" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m62b5ee96f1" x="57.6" y="186.890525" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_13">\n@@ -573,7 +573,7 @@\n     <g id="ytick_5">\n      <g id="line2d_13">\n       <g>\n-       <use xlink:href="#med97811871" x="57.6" y="146.659367" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m62b5ee96f1" x="57.6" y="146.659367" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_14">\n@@ -587,7 +587,7 @@\n     <g id="ytick_6">\n      <g id="line2d_14">\n       <g>\n-       <use xlink:href="#med97811871" x="57.6" y="106.428208" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m62b5ee96f1" x="57.6" y="106.428208" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_15">\n@@ -601,7 +601,7 @@\n     <g id="ytick_7">\n      <g id="line2d_15">\n       <g>\n-       <use xlink:href="#med97811871" x="57.6" y="66.19705" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#m62b5ee96f1" x="57.6" y="66.19705" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_16">\n@@ -976,28 +976,28 @@\n     </g>\n    </g>\n    <g id="line2d_16">\n-    <path clip-path="url(#p588769e291)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p09c77ad9a2)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_17">\n-    <path clip-path="url(#p588769e291)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p09c77ad9a2)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_18">\n-    <path clip-path="url(#p588769e291)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p09c77ad9a2)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_19">\n-    <path clip-path="url(#p588769e291)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p09c77ad9a2)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_20">\n-    <path clip-path="url(#p588769e291)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p09c77ad9a2)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_21">\n-    <path clip-path="url(#p588769e291)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p09c77ad9a2)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_22">\n-    <path clip-path="url(#p588769e291)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p09c77ad9a2)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_23">\n-    <path clip-path="url(#p588769e291)" style="fill: none; stroke: #424242; stroke-width: 2.7; stroke-linecap: square"/>\n+    <path clip-path="url(#p09c77ad9a2)" style="fill: none; stroke: #424242; stroke-width: 2.25; stroke-linecap: square"/>\n    </g>\n    <g id="patch_11">\n     <path d="M 57.6 307.584 \n@@ -1220,7 +1220,7 @@\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="p588769e291">\n+  <clipPath id="p09c77ad9a2">\n    <rect x="57.6" y="41.472" width="357.12" height="266.112"/>\n   </clipPath>\n  </defs>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/abundances--med_var.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/abundances--med_var.tsv Wed Mar 27 16:47:56 2024 +0000
b
@@ -0,0 +1,9 @@
+Explained Variance % PC
+62.995949 PC1
+13.724146 PC2
+10.351207 PC3
+6.560286 PC4
+3.031798 PC5
+2.187543 PC6
+1.149071 PC7
+0.0 PC8
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/bars_endo_Fru1P-total_abundance.svg
--- a/test-data/bars_endo_Fru1P-total_abundance.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/bars_endo_Fru1P-total_abundance.svg Wed Mar 27 16:47:56 2024 +0000
b
b'@@ -1,16 +1,16 @@\n <?xml version="1.0" encoding="utf-8" standalone="no"?>\n <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"\n   "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n-<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="229.595625pt" height="410.146703pt" viewBox="0 0 229.595625 410.146703" xmlns="http://www.w3.org/2000/svg" version="1.1">\n+<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="229.780312pt" height="410.259131pt" viewBox="0 0 229.780312 410.259131" xmlns="http://www.w3.org/2000/svg" version="1.1">\n  <metadata>\n   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n    <cc:Work>\n     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n-    <dc:date>2023-10-08T10:14:52.288911</dc:date>\n+    <dc:date>2024-03-26T10:26:04.817715</dc:date>\n     <dc:format>image/svg+xml</dc:format>\n     <dc:creator>\n      <cc:Agent>\n-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>\n+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>\n      </cc:Agent>\n     </dc:creator>\n    </cc:Work>\n@@ -21,53 +21,69 @@\n  </defs>\n  <g id="figure_1">\n   <g id="patch_1">\n-   <path d="M 0 410.146703 \n-L 229.595625 410.146703 \n-L 229.595625 0 \n+   <path d="M 0 410.259131 \n+L 229.780312 410.259131 \n+L 229.780312 0 \n L 0 0 \n z\n " style="fill: #ffffff"/>\n   </g>\n   <g id="axes_1">\n    <g id="patch_2">\n-    <path d="M 34.240625 355.809449 \n-L 222.395625 355.809449 \n-L 222.395625 60.56655 \n-L 34.240625 60.56655 \n+    <path d="M 51.885313 311.770896 \n+L 222.580312 311.770896 \n+L 222.580312 60.56655 \n+L 51.885313 60.56655 \n z\n " style="fill: #ffffff"/>\n    </g>\n    <g id="patch_3">\n-    <path d="M 53.056125 355.809449 \n-L 128.318125 355.809449 \n-L 128.318125 83.341307 \n-L 53.056125 83.341307 \n+    <path d="M 68.954812 311.770896 \n+L 137.232812 311.770896 \n+L 137.232812 79.944215 \n+L 68.954812 79.944215 \n z\n-" clip-path="url(#pdc3a65a28b)" style="fill: #abc9ea; stroke: #000000; stroke-linejoin: miter"/>\n+" clip-path="url(#p6ced50d961)" style="fill: #abc9ea; stroke: #000000; stroke-linejoin: miter"/>\n    </g>\n    <g id="patch_4">\n-    <path d="M 128.318125 355.809449 \n-L 203.580125 355.809449 \n-L 203.580125 147.74608 \n-L 128.318125 147.74608 \n+    <path d="M 137.232812 311.770896 \n+L 205.510812 311.770896 \n+L 205.510812 134.742345 \n+L 137.232812 134.742345 \n z\n-" clip-path="url(#pdc3a65a28b)" style="fill: #efb792; stroke: #000000; stroke-linejoin: miter"/>\n+" clip-path="url(#p6ced50d961)" style="fill: #efb792; stroke: #000000; stroke-linejoin: miter"/>\n+   </g>\n+   <g id="patch_5">\n+    <path d="M 137.232812 311.770896 \n+L 137.232812 311.770896 \n+L 137.232812 311.770896 \n+L 137.232812 311.770896 \n+z\n+" clip-path="url(#p6ced50d961)" style="fill: #abc9ea; stroke: #000000; stroke-linejoin: miter"/>\n+   </g>\n+   <g id="patch_6">\n+    <path d="M 137.232812 311.770896 \n+L 137.232812 311.770896 \n+L 137.232812 311.770896 \n+L 137.232812 311.770896 \n+z\n+" clip-path="url(#p6ced50d961)" style="fill: #efb792; stroke: #000000; stroke-linejoin: miter"/>\n    </g>\n    <g id="matplotlib.axis_1">\n     <g id="xtick_1">\n      <g id="line2d_1">\n       <defs>\n-       <path id="md05b645b8d" d="M 0 0 \n+       <path id="mbe824041de" d="M 0 0 \n L 0 3.5 \n " style="stroke: #000000; stroke-width: 0.8"/>\n       </defs>\n       <g>\n-       <use xlink:href="#md05b645b8d" x="128.318125" y="355.809449" style="stroke: #000000; stroke-width: 0.8"/>\n+       <use xlink:href="#mbe824041de" x="137.232812" y="311.770896" style="stroke: #000000; stroke-width: 0.8"/>\n       </g>\n      </g>\n      <g id="text_1">\n       <!-- sgLDHA -->\n-      <g transform="translate(124.209098 402.235408) rotate(-70) scale(0.1 -0.1)">\n+      <g transform="translate(128.603855 401.565411) rotate(-70) scale(0.21 -0.21)">\n        <defs>\n         <path id="DejaVuSans-73" d="M 2834 3397 \n L 2834 2853 \n@@ -208,17 +224,17 @@\n     <g id="ytick_1">\n      <g id="line2d_2"'..b'1819) scale(0.1 -0.1)">\n+      <g transform="translate(31.524063 112.18962) scale(0.21 -0.21)">\n        <defs>\n         <path id="DejaVuSans-38" d="M 2034 2216 \n Q 1584 2216 1326 1975 \n@@ -420,7 +436,7 @@\n     </g>\n     <g id="text_7">\n      <!-- Abundance -->\n-     <g transform="translate(14.798438 236.352843) rotate(-90) scale(0.1 -0.1)">\n+     <g transform="translate(23.156719 245.314895) rotate(-90) scale(0.21 -0.21)">\n       <defs>\n        <path id="DejaVuSans-62" d="M 3116 1747 \n Q 3116 2381 2855 2742 \n@@ -608,7 +624,7 @@\n     </g>\n     <g id="text_8">\n      <!-- 1e6 -->\n-     <g transform="translate(34.240625 57.56655) scale(0.1 -0.1)">\n+     <g transform="translate(51.885313 57.56655) scale(0.21 -0.21)">\n       <defs>\n        <path id="DejaVuSans-31" d="M 794 531 \n L 1825 531 \n@@ -632,48 +648,36 @@\n     </g>\n    </g>\n    <g id="line2d_7">\n-    <path d="M 90.687125 92.056879 \n-L 90.687125 74.625736 \n-" clip-path="url(#pdc3a65a28b)" style="fill: none; stroke: #000000; stroke-width: 1.7; stroke-linecap: square"/>\n+    <path d="M 97.972962 87.359769 \n+L 108.214662 87.359769 \n+M 103.093812 87.359769 \n+L 103.093812 72.528662 \n+M 97.972962 72.528662 \n+L 108.214662 72.528662 \n+" clip-path="url(#p6ced50d961)" style="fill: none; stroke: #000000; stroke-width: 1.7; stroke-linecap: square"/>\n    </g>\n    <g id="line2d_8">\n-    <path d="M 79.397825 92.056879 \n-L 101.976425 92.056879 \n-" clip-path="url(#pdc3a65a28b)" style="fill: none; stroke: #000000; stroke-width: 1.7; stroke-linecap: square"/>\n-   </g>\n-   <g id="line2d_9">\n-    <path d="M 79.397825 74.625736 \n-L 101.976425 74.625736 \n-" clip-path="url(#pdc3a65a28b)" style="fill: none; stroke: #000000; stroke-width: 1.7; stroke-linecap: square"/>\n-   </g>\n-   <g id="line2d_10">\n-    <path d="M 165.949125 161.17214 \n-L 165.949125 134.320021 \n-" clip-path="url(#pdc3a65a28b)" style="fill: none; stroke: #000000; stroke-width: 1.7; stroke-linecap: square"/>\n+    <path d="M 166.250963 146.165768 \n+L 176.492662 146.165768 \n+M 171.371813 146.165768 \n+L 171.371813 123.318922 \n+M 166.250963 123.318922 \n+L 176.492662 123.318922 \n+" clip-path="url(#p6ced50d961)" style="fill: none; stroke: #000000; stroke-width: 1.7; stroke-linecap: square"/>\n    </g>\n-   <g id="line2d_11">\n-    <path d="M 154.659825 161.17214 \n-L 177.238425 161.17214 \n-" clip-path="url(#pdc3a65a28b)" style="fill: none; stroke: #000000; stroke-width: 1.7; stroke-linecap: square"/>\n-   </g>\n-   <g id="line2d_12">\n-    <path d="M 154.659825 134.320021 \n-L 177.238425 134.320021 \n-" clip-path="url(#pdc3a65a28b)" style="fill: none; stroke: #000000; stroke-width: 1.7; stroke-linecap: square"/>\n-   </g>\n-   <g id="patch_5">\n-    <path d="M 34.240625 355.809449 \n-L 34.240625 60.56655 \n+   <g id="patch_7">\n+    <path d="M 51.885313 311.770896 \n+L 51.885313 60.56655 \n " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>\n    </g>\n-   <g id="patch_6">\n-    <path d="M 34.240625 355.809449 \n-L 222.395625 355.809449 \n+   <g id="patch_8">\n+    <path d="M 51.885312 311.770896 \n+L 222.580312 311.770896 \n " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>\n    </g>\n    <g id="text_9">\n     <!-- Fru1P -->\n-    <g transform="translate(93.205469 26.348063) scale(0.252 -0.252)">\n+    <g transform="translate(102.120156 26.348062) scale(0.252 -0.252)">\n      <defs>\n       <path id="DejaVuSans-46" d="M 628 4666 \n L 3309 4666 \n@@ -734,13 +738,13 @@\n      <use xlink:href="#DejaVuSans-50" x="218.384766"/>\n     </g>\n     <!--  -->\n-    <g transform="translate(128.318125 54.56655) scale(0.252 -0.252)"/>\n+    <g transform="translate(137.232812 54.56655) scale(0.252 -0.252)"/>\n    </g>\n   </g>\n  </g>\n  <defs>\n-  <clipPath id="pdc3a65a28b">\n-   <rect x="34.240625" y="60.56655" width="188.155" height="295.242899"/>\n+  <clipPath id="p6ced50d961">\n+   <rect x="51.885313" y="60.56655" width="170.695" height="251.204346"/>\n   </clipPath>\n  </defs>\n </svg>\n'
b
diff -r 7897a5cadcf5 -r daefbae2aacf test-data/legend.svg
--- a/test-data/legend.svg Mon Mar 04 20:02:11 2024 +0000
+++ b/test-data/legend.svg Wed Mar 27 16:47:56 2024 +0000
b
@@ -6,11 +6,11 @@
   <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <cc:Work>
     <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
-    <dc:date>2023-10-08T10:14:52.311672</dc:date>
+    <dc:date>2024-03-26T10:26:04.837231</dc:date>
     <dc:format>image/svg+xml</dc:format>
     <dc:creator>
      <cc:Agent>
-      <dc:title>Matplotlib v3.7.3, https://matplotlib.org/</dc:title>
+      <dc:title>Matplotlib v3.8.3, https://matplotlib.org/</dc:title>
      </cc:Agent>
     </dc:creator>
    </cc:Work>