For teaching purposes I am trying to create some plots of radioactive decay chains, whereby each node on the graph represents the isotope with a color corresponding to the isotopes stability and with an edge weight that corresponds to the probability of decay.
All of this information is available as collated entity data for isotopes from Wolfram:
IsotopeData["Properties"]
{"AtomicMass", "AtomicNumber", "BindingEnergy", "BranchingRatios","DaughterNuclides", "DecayEnergies", "DecayModes","DecayModeSymbols", "DecayProducts", "ExcitedStateEnergies","ExcitedStateHalfLives", "ExcitedStateLifetimes", "ExcitedStateParities", "ExcitedStateSpins", "ExcitedStateWidths", "FullSymbol", "HalfLife", "IsotopeAbundance", "Lifetime", "MagneticMoment", "MassExcess", "MassNumber", "Memberships", "Name", "NeutronNumber", "Parity", "QuadrupoleMoment", "QuantumStatistics", "Spin", "Stable", "StandardName", "Symbol", "Width"}
One example in the Documentation gives a neat way of extracting all daughter nuclides and plotting them as a graph:
DaughterNuclides[s_List] := DeleteCases[Union[Apply[Join, Map[IsotopeData[#, "DaughterNuclides"] &, DeleteCases[s, _Missing]]]], _Missing];
ReachableNuclides[s_List] := FixedPoint[Union[Join[#, DaughterNuclides[#]]] &, s];
verts = ReachableNuclides[{Entity["Isotope", "Uranium232"]}];
DaughterNuclidesQ[s1_,s2_] := (s1 =!= s2 && MemberQ[DaughterNuclides[{s1}], s2]);
RelationGraph[DaughterNuclidesQ, verts, Sequence[VertexLabels -> {Entity["Isotope", "Bismuth210"] -> Row[{Superscript["", 210], "Bi"}], Entity["Isotope", "Bismuth212"] ->
Row[{Superscript["", 212], "Bi"}], Entity["Isotope", "Lead204"] -> Row[{Superscript["", 204], "Pb"}], Entity["Isotope", "Lead206"] -> Row[{Superscript["", 206], "Pb"}], Entity["Isotope", "Lead208"] -> Row[{Superscript["", 208], "Pb"}], Entity["Isotope", "Lead210"] -> Row[{Superscript["", 210], "Pb"}], Entity["Isotope", "Lead212"] -> Row[{Superscript["", 212], "Pb"}], Entity["Isotope", "Mercury200"] ->
Row[{Superscript["", 200], "Hg"}], Entity["Isotope", "Mercury204"] ->
Row[{Superscript["", 204], "Hg"}], Entity["Isotope", "Mercury206"] ->
Row[{Superscript["", 206], "Hg"}], Entity["Isotope", "Polonium210"] -> Row[{Superscript["", 210], "Po"}], Entity["Isotope", "Polonium212"] -> Row[{Superscript["", 212], "Po"}], Entity["Isotope", "Polonium216"] -> Row[{Superscript["", 216], "Po"}], Entity["Isotope", "Radium220"] -> Row[{Superscript["", 220], "Ra"}], Entity["Isotope", "Radium224"] -> Row[{Superscript["", 224], "Ra"}], Entity["Isotope", "Radon216"] -> Row[{Superscript["", 216], "Rn"}], Entity["Isotope", "Radon220"] -> Row[{Superscript["", 220], "Rn"}], Entity["Isotope", "Thallium206"] -> Row[{Superscript["", 206], "Tl"}], Entity["Isotope", "Thallium208"] -> Row[{Superscript["", 208], "Tl"}], Entity["Isotope", "Thorium228"] -> Row[{Superscript["", 228], "Th"}], Entity["Isotope", "Uranium232"] -> Row[{Superscript["", 232], "U"}]}, PlotRangePadding -> 0.65, ImageSize -> 300, PlotTheme -> "Scientific"]]
This gives the following graph:
How can I modify this code so that the color of each node corresponds to half-life and the thickness of the lines corresponds to decay probability?