InterfacialReactivity plot function is not generating figure


With the new version of pymatgen I have a problem with the plotting function for grand=GrandPotentialInterfacialReactivity. The figure is not plotting. Using
fig = grand.plot(“matplotlib”)
When I switch to matplotlib then the boundary of the box is not of proper size. I cannot figure out where is the problem. Were plotly libraries were changed.


Hi @Asif-Iqbal-Bhatti,

Can you please provide an exact copy of your code and the output it generates so we can help you troubleshoot?

In general, the plotting should all be working – I just tested it. Note that as of a few versions ago, the interface reactions classes now support plotting with Plotly (as well as the option to use the original plotting method in matplotlib).

One more note that may be helpful – if you are using GrandPotentialInterfacialReactivity and supply a grand potential phase diagram with too high (or too low) chemical potential(s), you will not see any reactions and it may look like the figure is empty; really it is just a straight line :slight_smile:

Thank you for your reply. For a couple of days MP was down. The error I got when plotting is:

exception raised in parse action (at char 0), (line:1, col:1)
FAIL Li9VS6 Argument must be an image, collection, or ContourSet in this Axes
FAIL Li4Te(S2Br)2
x in $x$Li${0.36363636}Te{0.09090909}S{0.36363636}Br{0.18181818} + (1-x)Ti{0.5}N{0.5} ^ Expected end of text, found '’ (at char 12), (line:1, col:13)

exception raised in parse action (at char 0), (line:1, col:1)

The plot with matplotlib is not able to handle LaTeX (when run in parrallel) and stops the script in the middle. Is there a way to fix this one. NB; If I run the script using one core then I don’t get any error.