As specified here, the formatting is described as the same as d3's formatting language.
However, the d3 documentation this points to mentions that "the sign can be... ( - nothing for zero or positive and parentheses for negative.".
This option, however, is not available to plotly.js.
I see that the d3_format_re is in fact /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i, and does not include the ")" along with "+", "-" and " "(space), so it defaults back to -.