Expand mechanism full-name labels (CV: 9 ID + 4 OOD; TPD: 11 ID + 2 OOD)
Browse files- plotting.py +29 -13
plotting.py
CHANGED
|
@@ -66,21 +66,37 @@ MECH_COLORS_TPD = {
|
|
| 66 |
|
| 67 |
|
| 68 |
MECH_FULL_NAMES_EC = {
|
| 69 |
-
"
|
| 70 |
-
"
|
| 71 |
-
"
|
| 72 |
-
"Ads": "
|
| 73 |
-
"EC": "
|
| 74 |
-
"LH": "Langmuir–Hinshelwood",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
}
|
| 76 |
|
| 77 |
MECH_FULL_NAMES_TPD = {
|
| 78 |
-
"FirstOrder": "1st-
|
| 79 |
-
"SecondOrder": "2nd-
|
| 80 |
-
"
|
| 81 |
-
"
|
| 82 |
-
"
|
| 83 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
}
|
| 85 |
|
| 86 |
|
|
@@ -106,7 +122,7 @@ def plot_mechanism_probs(probs_dict, domain="ec"):
|
|
| 106 |
bar_colors = [colors.get(n, COLORS["neutral"]) for n in names]
|
| 107 |
display_names = [f"{n} ({full_names.get(n, n)})" for n in names]
|
| 108 |
|
| 109 |
-
fig, ax = plt.subplots(figsize=(
|
| 110 |
bars = ax.barh(range(len(names)), probs, color=bar_colors, edgecolor="white",
|
| 111 |
linewidth=0.5, height=0.7)
|
| 112 |
|
|
|
|
| 66 |
|
| 67 |
|
| 68 |
MECH_FULL_NAMES_EC = {
|
| 69 |
+
"Nernst": "Nernstian (reversible electron transfer)",
|
| 70 |
+
"BV": "Butler–Volmer (quasi-reversible electron transfer)",
|
| 71 |
+
"MHC": "Marcus–Hush–Chidsey (non-adiabatic electron transfer)",
|
| 72 |
+
"Ads": "surface-adsorbed redox couple",
|
| 73 |
+
"EC": "electron transfer followed by chemical step",
|
| 74 |
+
"LH": "Langmuir–Hinshelwood surface reaction",
|
| 75 |
+
"EE": "two sequential electron transfers",
|
| 76 |
+
"EC_prime": "electron transfer with catalytic regeneration",
|
| 77 |
+
"CE": "chemical step preceding electron transfer",
|
| 78 |
+
# OOD (not in trained set)
|
| 79 |
+
"ECE": "electron transfer–chemical step–electron transfer",
|
| 80 |
+
"EC_LH": "EC followed by Langmuir–Hinshelwood",
|
| 81 |
+
"MHC_EC": "Marcus–Hush–Chidsey followed by chemical step",
|
| 82 |
+
"MHC_LH": "Marcus–Hush–Chidsey followed by Langmuir–Hinshelwood",
|
| 83 |
}
|
| 84 |
|
| 85 |
MECH_FULL_NAMES_TPD = {
|
| 86 |
+
"FirstOrder": "1st-order desorption",
|
| 87 |
+
"SecondOrder": "2nd-order recombinative desorption",
|
| 88 |
+
"ZerothOrder": "0th-order (multilayer) desorption",
|
| 89 |
+
"LH_Surface": "Langmuir–Hinshelwood surface reaction",
|
| 90 |
+
"MvK": "Mars–van Krevelen (lattice oxygen)",
|
| 91 |
+
"FirstOrderCovDep": "1st-order with coverage-dependent Ed",
|
| 92 |
+
"DiffLimited": "diffusion-limited desorption",
|
| 93 |
+
"PrecursorMediated": "precursor-mediated desorption",
|
| 94 |
+
"Dissociative": "dissociative desorption",
|
| 95 |
+
"ActivatedAdsorption": "desorption with activated re-adsorption",
|
| 96 |
+
"TwoSite": "two-site (heterogeneous) desorption",
|
| 97 |
+
# OOD (not in trained set)
|
| 98 |
+
"EleyRideal": "Eley–Rideal surface reaction",
|
| 99 |
+
"BimolecularCovDep": "bimolecular coverage-dependent desorption",
|
| 100 |
}
|
| 101 |
|
| 102 |
|
|
|
|
| 122 |
bar_colors = [colors.get(n, COLORS["neutral"]) for n in names]
|
| 123 |
display_names = [f"{n} ({full_names.get(n, n)})" for n in names]
|
| 124 |
|
| 125 |
+
fig, ax = plt.subplots(figsize=(11, max(3, len(names) * 0.7)))
|
| 126 |
bars = ax.barh(range(len(names)), probs, color=bar_colors, edgecolor="white",
|
| 127 |
linewidth=0.5, height=0.7)
|
| 128 |
|