Black Lives Matter. Please consider donating to Black Girls Code today.

Brand new chart editor at!📣

Hello everyone! :wave:

My name is Nicolas Kruchten and I’m the VP of Product here at Plotly.

As of a couple of hours ago, when you create or edit a chart in Chart Studio (i.e. at you’ll be using our brand-new chart editor, which we’ve been working on for over a year.

The new editor has more features and fewer bugs than the old one and we hope you like it! Many things have been improved, a few things have moved and a few things have been removed, and here’s a quick highlight reel while we work on a more formal announcement blog post:

  • Added: Violin plots, Polar Scatter plots, Cone plots and Streamtube plots, Sort transforms, ability to style menus and sliders in the UI if they’ve been created through the API
  • Improved: Subplots have their own panel in the sidebar with more intuitive drag-resize control, plus every trace type can now be used in as many subplots as desired, including (much-requested) pie charts
  • Improved: Transforms (Aggregate, Group By, Filter) have been regrouped into a single panel, and the confusing “group by” transform has been renamed “split by”
  • Improved: many more options are available for histograms
  • Improved: the JSON editor is much more stable and informative about errors, plus looks much nicer
  • Improved: our colorscale picker got a big upgrade
  • Moved: data input for things like color, size and text have been moved into the Style/Traces panel, so you can control everything to do with how points/bars/lines look within that panel rather than switching back and forth
  • Moved: error bars have moved to Style/Traces and can now easily be applied to bar traces
  • Moved: time series have moved to the Range Selector fold of the Axes panel
  • Moved: Mapbox/Geo styling has moved to the Subplots panel, so you can style independent subplots differently (e.g. a map and an inset map)
  • Removed: hard to use features like animation creation, mobile breakpoints, GeoJSON, certain annotation presets, certain analysis types

Please comment below with feedback for us on the new editor, and reach out for help if you can’t find an option you need, we can help you locate it :slight_smile:

Plot on!


That’s great news!

I’ve had a chance to use it yesterday and it didn’t take long to get use to the new option layout.
That said I think one of the options I found very useful and consistently used is gone (automatically positioned annotations). Seems that only the manual annotation is available now, the automatically positioned annotations option was great in that you could by just clicking on one or several data points and it would display the customized formatted annotation that I wanted (e.g. {text}, {x}, {y} and so one), for all the data point of interest.
Any chance that would come back as an option in the near future?

Thanks again for that awesome update to chart studio.


Thanks for your feedback! You’re right that we didn’t port over this functionality in the new editor, but it’s certainly something we’re interested in bringing back in the future, although I can’t commit to a timeline at this point.

1 Like

Any chance you could add documentation in the JSON editor? This would make it much easier to work in the editor as opposed to the command line.

Probably best if I explain by example:

If I hover over (or perhaps another implementation) the figure -> data -> mode element that I’m poinitng to below, could I get a docstring back similar to the one below?



Help on property:

    Determines the drawing mode for this scatter trace. If the
    provided `mode` includes *text* then the `text` elements appear
    at the coordinates. Otherwise, the `text` elements appear on
    hover. If there are less than 20 points, then the default is
    *lines+markers*. Otherwise, *lines*.
    The 'mode' property is a flaglist and may be specified
    as a string containing:
      - Any combination of ['lines', 'markers', 'text'] joined with '+' characters
        (e.g. 'lines+markers')
        OR exactly one of ['none'] (e.g. 'none')

That’s a great idea, I’ll see what we can do about that! The one drawback here is that it will balloon out the javascript bundle size so the whole editor would load much more slowly :frowning:

1 Like

Hi, I use Chart Studio to make scatter plots for physics with error bars and curve fitting.
Some features I’m not finding in the new version:

  • finding the R^2 value for a curve fit.
  • displaying the equation (and R^2) as an annotation on the graph.
  • Being able to use subplots to make multiple separate graphs from the same data grid. (Not multiple axes/traces on the same plot.)

Am I missing something or are these features removed?


The first two are indeed missing at the moment but we’re looking at bringing them back.

For subplots, you can control the trace-to-axes mapping from the Structure/Traces panel and then control the axes-to-subplots mapping from the Structure/Subplots panel. This arrangement gives more flexibility and control than the previous version, and you can precisely size and position subplots containing traces of any type now: multiple pie charts, 2d and 3d, multiple maps, etc :slight_smile:

1 Like


I am wondering whether there are plans to bring back filters to Choropleth maps. I’ve used them before this upgrade to filter data, but right now they seem to be gone (there is no “Transform” tab in this kind of maps).


Hi @Baldo, this is something we can look at for sure. What kind of filtering were you doing, out of curiosity?

Thanks for your response!

I used it in an academic setting. I was showing students (in a very introductory course to data science) how to create a choropleth visualization. To keep it simple, I loaded the OECD Meat Consumption dataset ( out-of-the-box and then applied filters to:

  • focus only in one metric (there are two of them, so showing them aggregated makes no sense).
  • watching the map for different meat types (there are interesting cultural aspects that can be inferred for the result).

Of course this is something that they could do in a prior filtering stage using other software, but I tried to keep it as simple as possible and, additionally, I liked how the map changed in real-time when applying the filters (something hard to replicate using a different tool for filtering / data preprocessing).

I know this could be done with Python/JS libraries but these students do not have any background on programming.