Open
@wdecoster

Description

Hi,

The error below had me stumped for quite a while:

import plotly as px
px.scatter(x=[1,2,3], y=[2,3,4], marginal_x="density")

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/wdecoster/miniconda3/envs/data_analysis/lib/python3.12/site-packages/_plotly_utils/importers.py", line 39, in __getattr__
    raise AttributeError(
AttributeError: module 'plotly' has no attribute 'scatter'
>>> import plotly.express as px
^[[Apx.scatter(x=[1,2,3], y=[2,3,4], marginal_x="density")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/wdecoster/miniconda3/envs/data_analysis/lib/python3.12/site-packages/plotly/express/_chart_types.py", line 66, in scatter
    return make_figure(args=locals(), constructor=go.Scatter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/wdecoster/miniconda3/envs/data_analysis/lib/python3.12/site-packages/plotly/express/_core.py", line 2152, in make_figure
    trace = trace_spec.constructor(name=trace_name)
            ^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'constructor'

It turns out that "density" is not a supported type for a marginal plot, and I should have used "violin" instead.
But could this error message perhaps be more explicit about what is going wrong?

Best,
Wouter