Is there a bug or issue with the text_auto argument?

Is there a bug or issue with the text_auto argument for Plotly Express bar charts?

This has happened before, so I am assuming other had similar issues. It does not work no matter what I do, whether I set it to True (boolean) or give it a text directive. I have reviewed the documentation. If there is a workaround, can you point me in the right direction? I really want to use labels with this chart.

Thank you,

Robert

1 Like

Hi Robert,
it’s hard to say without a minimal working example. Can you please share data and code of a basic bar chart where the text_auto does not work properly. Thank you,

1 Like

My apologies. I worked on this all day yesterday, and I was in a rush to yoga class last night when I asked the question.

I try not to be sloppy with my communications, but I am not exaggerating when I say I spent at least ten hours yesterday trying to generate an interactive chart that adjusts to changes in user input. The answer is always simple and obvious in retrospect, but I pulled my hair out climbing the learning curve.

Ultimately, I think I solved the mystery.

I will explain what I found in detail in case it helps someone in the future.

  1. I found you must run Plotly 5.5 for text_auto to work on any chart. For some reason, I was running 5.4 which caught me by surprise because I installed it only weeks ago.

  2. To resolve the issue, I had to use this command: pip install plotly==5.5. if I ran pip install plotly, without specifying the version, it will still install 5.4 as of this morning.

  3. Once I had installed 5.5, the text_auto argument works, but it only works in Plotly Express charts, where “px.bar” is used to draw the figure. See Bar Charts with Text in the documentation for an example.

  4. I needed a chart like Bar Chart with Relative Barmode (in the same documentation), because I need to compare the final results to nutritional benchmarks. Instead of “px.bar,” it requires “fig = go.Figure()” to draw the chart. It does not accept the “text_auto” argument with producing this error message:

ValueError: 'NoneType' object is not subscriptable

Invalid value received for the 'text' property of bar

    The 'text' property is a string and must be specified as:
      - A string
      - A number that will be converted to a string
      - A tuple, list, or one-dimensional numpy array of the above

Property does not support subscripting:
text_auto

Fortunately, the graph entitled “Rotated Bar Chart Labels” in the documentation should not only enable me to use labels, but it also includes the “barmode=‘group’” argument that should allow me to compare actual levels to benchmarks.

I have not tried it yet, but it should meet my needs.

If you have any pointers or corrections, I would love to hear them.

If you still want a working example, please let me know.

Again, my apologies for the messy question.

Robert

For some reason upgrading to 5.10.0 required a full jupyter lab service reboot instead of just a kernel reset in order to get text_auto working for my heatmaps