plotly.js 1.51.2 → 1.52.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +93 -0
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/dist/README.md +25 -25
- package/dist/plot-schema.json +529 -77
- package/dist/plotly-basic.js +1560 -689
- package/dist/plotly-basic.min.js +3 -3
- package/dist/plotly-cartesian.js +2373 -1050
- package/dist/plotly-cartesian.min.js +3 -3
- package/dist/plotly-finance.js +1880 -900
- package/dist/plotly-finance.min.js +3 -3
- package/dist/plotly-geo-assets.js +4 -4
- package/dist/plotly-geo.js +4066 -1010
- package/dist/plotly-geo.min.js +3 -3
- package/dist/plotly-gl2d.js +1142 -556
- package/dist/plotly-gl2d.min.js +3 -3
- package/dist/plotly-gl3d.js +1773 -1022
- package/dist/plotly-gl3d.min.js +3 -3
- package/dist/plotly-locale-af.js +1 -1
- package/dist/plotly-locale-am.js +1 -1
- package/dist/plotly-locale-ar-dz.js +1 -1
- package/dist/plotly-locale-ar-eg.js +1 -1
- package/dist/plotly-locale-ar.js +1 -1
- package/dist/plotly-locale-az.js +1 -1
- package/dist/plotly-locale-bg.js +1 -1
- package/dist/plotly-locale-bs.js +1 -1
- package/dist/plotly-locale-ca.js +1 -1
- package/dist/plotly-locale-cs.js +1 -1
- package/dist/plotly-locale-cy.js +1 -1
- package/dist/plotly-locale-da.js +1 -1
- package/dist/plotly-locale-de-ch.js +1 -1
- package/dist/plotly-locale-de.js +1 -1
- package/dist/plotly-locale-el.js +1 -1
- package/dist/plotly-locale-eo.js +1 -1
- package/dist/plotly-locale-es-ar.js +1 -1
- package/dist/plotly-locale-es-pe.js +1 -1
- package/dist/plotly-locale-es.js +1 -1
- package/dist/plotly-locale-et.js +1 -1
- package/dist/plotly-locale-eu.js +1 -1
- package/dist/plotly-locale-fa.js +1 -1
- package/dist/plotly-locale-fi.js +1 -1
- package/dist/plotly-locale-fo.js +1 -1
- package/dist/plotly-locale-fr-ch.js +1 -1
- package/dist/plotly-locale-fr.js +1 -1
- package/dist/plotly-locale-gl.js +1 -1
- package/dist/plotly-locale-gu.js +1 -1
- package/dist/plotly-locale-he.js +1 -1
- package/dist/plotly-locale-hi-in.js +1 -1
- package/dist/plotly-locale-hr.js +1 -1
- package/dist/plotly-locale-hu.js +1 -1
- package/dist/plotly-locale-hy.js +1 -1
- package/dist/plotly-locale-id.js +1 -1
- package/dist/plotly-locale-is.js +1 -1
- package/dist/plotly-locale-it.js +1 -1
- package/dist/plotly-locale-ja.js +1 -1
- package/dist/plotly-locale-ka.js +1 -1
- package/dist/plotly-locale-km.js +1 -1
- package/dist/plotly-locale-ko.js +1 -1
- package/dist/plotly-locale-lt.js +1 -1
- package/dist/plotly-locale-lv.js +1 -1
- package/dist/plotly-locale-me-me.js +1 -1
- package/dist/plotly-locale-me.js +1 -1
- package/dist/plotly-locale-mk.js +1 -1
- package/dist/plotly-locale-ml.js +1 -1
- package/dist/plotly-locale-ms.js +1 -1
- package/dist/plotly-locale-mt.js +1 -1
- package/dist/plotly-locale-nl-be.js +1 -1
- package/dist/plotly-locale-nl.js +1 -1
- package/dist/plotly-locale-no.js +1 -1
- package/dist/plotly-locale-pa.js +1 -1
- package/dist/plotly-locale-pl.js +1 -1
- package/dist/plotly-locale-pt-br.js +1 -1
- package/dist/plotly-locale-rm.js +1 -1
- package/dist/plotly-locale-ro.js +1 -1
- package/dist/plotly-locale-ru.js +1 -1
- package/dist/plotly-locale-sk.js +1 -1
- package/dist/plotly-locale-sl.js +1 -1
- package/dist/plotly-locale-sq.js +1 -1
- package/dist/plotly-locale-sr-sr.js +1 -1
- package/dist/plotly-locale-sr.js +1 -1
- package/dist/plotly-locale-sv.js +1 -1
- package/dist/plotly-locale-sw.js +1 -1
- package/dist/plotly-locale-ta.js +1 -1
- package/dist/plotly-locale-th.js +1 -1
- package/dist/plotly-locale-tr.js +1 -1
- package/dist/plotly-locale-tt.js +1 -1
- package/dist/plotly-locale-uk.js +1 -1
- package/dist/plotly-locale-ur.js +1 -1
- package/dist/plotly-locale-vi.js +1 -1
- package/dist/plotly-locale-zh-cn.js +1 -1
- package/dist/plotly-locale-zh-hk.js +1 -1
- package/dist/plotly-locale-zh-tw.js +1 -1
- package/dist/plotly-mapbox.js +1749 -1849
- package/dist/plotly-mapbox.min.js +3 -3
- package/dist/plotly-with-meta.js +6225 -3884
- package/dist/plotly.js +5898 -3754
- package/dist/plotly.min.js +3 -3
- package/dist/translation-keys.txt +17 -17
- package/lib/aggregate.js +1 -1
- package/lib/bar.js +1 -1
- package/lib/barpolar.js +1 -1
- package/lib/box.js +1 -1
- package/lib/calendars.js +1 -1
- package/lib/candlestick.js +1 -1
- package/lib/carpet.js +1 -1
- package/lib/choropleth.js +1 -1
- package/lib/choroplethmapbox.js +1 -1
- package/lib/cone.js +1 -1
- package/lib/contour.js +1 -1
- package/lib/contourcarpet.js +1 -1
- package/lib/contourgl.js +1 -1
- package/lib/core.js +1 -1
- package/lib/densitymapbox.js +1 -1
- package/lib/filter.js +1 -1
- package/lib/funnel.js +1 -1
- package/lib/funnelarea.js +1 -1
- package/lib/groupby.js +1 -1
- package/lib/heatmap.js +1 -1
- package/lib/heatmapgl.js +1 -1
- package/lib/histogram.js +1 -1
- package/lib/histogram2d.js +1 -1
- package/lib/histogram2dcontour.js +1 -1
- package/lib/image.js +1 -1
- package/lib/index-basic.js +1 -1
- package/lib/index-cartesian.js +1 -1
- package/lib/index-finance.js +1 -1
- package/lib/index-geo.js +1 -1
- package/lib/index-gl2d.js +1 -1
- package/lib/index-gl3d.js +1 -1
- package/lib/index-mapbox.js +1 -1
- package/lib/index.js +1 -1
- package/lib/indicator.js +1 -1
- package/lib/isosurface.js +1 -1
- package/lib/locales/af.js +1 -1
- package/lib/locales/am.js +1 -1
- package/lib/locales/ar-dz.js +1 -1
- package/lib/locales/ar-eg.js +1 -1
- package/lib/locales/ar.js +1 -1
- package/lib/locales/az.js +1 -1
- package/lib/locales/bg.js +1 -1
- package/lib/locales/bs.js +1 -1
- package/lib/locales/ca.js +1 -1
- package/lib/locales/cs.js +1 -1
- package/lib/locales/cy.js +1 -1
- package/lib/locales/da.js +1 -1
- package/lib/locales/de-ch.js +1 -1
- package/lib/locales/de.js +1 -1
- package/lib/locales/el.js +1 -1
- package/lib/locales/eo.js +1 -1
- package/lib/locales/es-ar.js +1 -1
- package/lib/locales/es-pe.js +1 -1
- package/lib/locales/es.js +1 -1
- package/lib/locales/et.js +1 -1
- package/lib/locales/eu.js +1 -1
- package/lib/locales/fa.js +1 -1
- package/lib/locales/fi.js +1 -1
- package/lib/locales/fo.js +1 -1
- package/lib/locales/fr-ch.js +1 -1
- package/lib/locales/fr.js +1 -1
- package/lib/locales/gl.js +1 -1
- package/lib/locales/gu.js +1 -1
- package/lib/locales/he.js +1 -1
- package/lib/locales/hi-in.js +1 -1
- package/lib/locales/hr.js +1 -1
- package/lib/locales/hu.js +1 -1
- package/lib/locales/hy.js +1 -1
- package/lib/locales/id.js +1 -1
- package/lib/locales/is.js +1 -1
- package/lib/locales/it.js +1 -1
- package/lib/locales/ja.js +1 -1
- package/lib/locales/ka.js +1 -1
- package/lib/locales/km.js +1 -1
- package/lib/locales/ko.js +54 -2
- package/lib/locales/lt.js +1 -1
- package/lib/locales/lv.js +1 -1
- package/lib/locales/me-me.js +1 -1
- package/lib/locales/me.js +1 -1
- package/lib/locales/mk.js +1 -1
- package/lib/locales/ml.js +1 -1
- package/lib/locales/ms.js +1 -1
- package/lib/locales/mt.js +1 -1
- package/lib/locales/nl-be.js +1 -1
- package/lib/locales/nl.js +1 -1
- package/lib/locales/no.js +1 -1
- package/lib/locales/pa.js +1 -1
- package/lib/locales/pl.js +1 -1
- package/lib/locales/pt-br.js +1 -1
- package/lib/locales/rm.js +1 -1
- package/lib/locales/ro.js +1 -1
- package/lib/locales/ru.js +1 -1
- package/lib/locales/sk.js +1 -1
- package/lib/locales/sl.js +1 -1
- package/lib/locales/sq.js +1 -1
- package/lib/locales/sr-sr.js +1 -1
- package/lib/locales/sr.js +1 -1
- package/lib/locales/sv.js +1 -1
- package/lib/locales/sw.js +1 -1
- package/lib/locales/ta.js +1 -1
- package/lib/locales/th.js +1 -1
- package/lib/locales/tr.js +1 -1
- package/lib/locales/tt.js +1 -1
- package/lib/locales/uk.js +1 -1
- package/lib/locales/ur.js +1 -1
- package/lib/locales/vi.js +1 -1
- package/lib/locales/zh-cn.js +1 -1
- package/lib/locales/zh-hk.js +1 -1
- package/lib/locales/zh-tw.js +1 -1
- package/lib/mesh3d.js +1 -1
- package/lib/ohlc.js +1 -1
- package/lib/parcats.js +1 -1
- package/lib/parcoords.js +1 -1
- package/lib/pie.js +1 -1
- package/lib/pointcloud.js +1 -1
- package/lib/sankey.js +1 -1
- package/lib/scatter.js +1 -1
- package/lib/scatter3d.js +1 -1
- package/lib/scattercarpet.js +1 -1
- package/lib/scattergeo.js +1 -1
- package/lib/scattergl.js +1 -1
- package/lib/scattermapbox.js +1 -1
- package/lib/scatterpolar.js +1 -1
- package/lib/scatterpolargl.js +1 -1
- package/lib/scatterternary.js +1 -1
- package/lib/sort.js +1 -1
- package/lib/splom.js +1 -1
- package/lib/streamtube.js +1 -1
- package/lib/sunburst.js +1 -1
- package/lib/surface.js +1 -1
- package/lib/table.js +1 -1
- package/lib/treemap.js +1 -1
- package/lib/violin.js +1 -1
- package/lib/volume.js +1 -1
- package/lib/waterfall.js +1 -1
- package/package.json +25 -23
- package/src/assets/geo_assets.js +2 -2
- package/src/components/annotations/arrow_paths.js +1 -1
- package/src/components/annotations/attributes.js +2 -2
- package/src/components/annotations/calc_autorange.js +1 -1
- package/src/components/annotations/click.js +1 -1
- package/src/components/annotations/common_defaults.js +1 -1
- package/src/components/annotations/convert_coords.js +1 -1
- package/src/components/annotations/defaults.js +1 -1
- package/src/components/annotations/draw.js +1 -1
- package/src/components/annotations/draw_arrow_head.js +1 -1
- package/src/components/annotations/index.js +1 -1
- package/src/components/annotations3d/attributes.js +1 -1
- package/src/components/annotations3d/convert.js +1 -1
- package/src/components/annotations3d/defaults.js +1 -1
- package/src/components/annotations3d/draw.js +1 -1
- package/src/components/annotations3d/index.js +1 -1
- package/src/components/calendars/calendars.js +1 -1
- package/src/components/calendars/index.js +1 -1
- package/src/components/color/attributes.js +1 -1
- package/src/components/color/index.js +1 -1
- package/src/components/colorbar/attributes.js +1 -1
- package/src/components/colorbar/constants.js +1 -1
- package/src/components/colorbar/defaults.js +1 -1
- package/src/components/colorbar/draw.js +1 -1
- package/src/components/colorbar/has_colorbar.js +1 -1
- package/src/components/colorbar/index.js +1 -1
- package/src/components/colorscale/attributes.js +1 -1
- package/src/components/colorscale/calc.js +1 -1
- package/src/components/colorscale/cross_trace_defaults.js +1 -1
- package/src/components/colorscale/defaults.js +5 -2
- package/src/components/colorscale/helpers.js +1 -1
- package/src/components/colorscale/index.js +1 -1
- package/src/components/colorscale/layout_attributes.js +1 -1
- package/src/components/colorscale/layout_defaults.js +1 -1
- package/src/components/colorscale/scales.js +1 -1
- package/src/components/dragelement/align.js +1 -1
- package/src/components/dragelement/cursor.js +1 -1
- package/src/components/dragelement/index.js +1 -1
- package/src/components/dragelement/unhover.js +1 -1
- package/src/components/drawing/attributes.js +1 -1
- package/src/components/drawing/index.js +40 -15
- package/src/components/drawing/symbol_defs.js +1 -1
- package/src/components/errorbars/attributes.js +1 -1
- package/src/components/errorbars/calc.js +1 -1
- package/src/components/errorbars/compute_error.js +1 -1
- package/src/components/errorbars/defaults.js +1 -1
- package/src/components/errorbars/index.js +1 -1
- package/src/components/errorbars/plot.js +1 -1
- package/src/components/errorbars/style.js +1 -1
- package/src/components/fx/attributes.js +1 -1
- package/src/components/fx/calc.js +1 -1
- package/src/components/fx/click.js +1 -1
- package/src/components/fx/constants.js +1 -1
- package/src/components/fx/defaults.js +1 -1
- package/src/components/fx/helpers.js +1 -1
- package/src/components/fx/hover.js +1 -1
- package/src/components/fx/hoverlabel_defaults.js +1 -1
- package/src/components/fx/index.js +1 -1
- package/src/components/fx/layout_attributes.js +1 -1
- package/src/components/fx/layout_defaults.js +1 -1
- package/src/components/fx/layout_global_defaults.js +1 -1
- package/src/components/grid/index.js +1 -1
- package/src/components/images/attributes.js +1 -1
- package/src/components/images/convert_coords.js +1 -1
- package/src/components/images/defaults.js +1 -1
- package/src/components/images/draw.js +1 -1
- package/src/components/images/index.js +1 -1
- package/src/components/legend/attributes.js +34 -1
- package/src/components/legend/constants.js +3 -1
- package/src/components/legend/defaults.js +15 -2
- package/src/components/legend/draw.js +96 -29
- package/src/components/legend/get_legend_data.js +1 -1
- package/src/components/legend/handle_click.js +7 -4
- package/src/components/legend/helpers.js +1 -1
- package/src/components/legend/index.js +1 -1
- package/src/components/legend/style.js +128 -3
- package/src/components/modebar/buttons.js +43 -5
- package/src/components/modebar/index.js +1 -1
- package/src/components/modebar/manage.js +2 -1
- package/src/components/modebar/modebar.js +1 -1
- package/src/components/rangeselector/attributes.js +1 -1
- package/src/components/rangeselector/constants.js +1 -1
- package/src/components/rangeselector/defaults.js +1 -1
- package/src/components/rangeselector/draw.js +1 -1
- package/src/components/rangeselector/get_update_object.js +1 -1
- package/src/components/rangeselector/index.js +1 -1
- package/src/components/rangeslider/attributes.js +1 -1
- package/src/components/rangeslider/calc_autorange.js +1 -1
- package/src/components/rangeslider/constants.js +1 -1
- package/src/components/rangeslider/defaults.js +1 -1
- package/src/components/rangeslider/draw.js +1 -1
- package/src/components/rangeslider/helpers.js +1 -1
- package/src/components/rangeslider/index.js +1 -1
- package/src/components/rangeslider/oppaxis_attributes.js +1 -1
- package/src/components/shapes/attributes.js +1 -1
- package/src/components/shapes/calc_autorange.js +1 -1
- package/src/components/shapes/constants.js +1 -1
- package/src/components/shapes/defaults.js +1 -1
- package/src/components/shapes/draw.js +1 -1
- package/src/components/shapes/helpers.js +1 -1
- package/src/components/shapes/index.js +1 -1
- package/src/components/sliders/attributes.js +1 -1
- package/src/components/sliders/constants.js +1 -1
- package/src/components/sliders/defaults.js +1 -1
- package/src/components/sliders/draw.js +1 -1
- package/src/components/sliders/index.js +1 -1
- package/src/components/titles/index.js +1 -1
- package/src/components/updatemenus/attributes.js +1 -1
- package/src/components/updatemenus/constants.js +1 -1
- package/src/components/updatemenus/defaults.js +1 -1
- package/src/components/updatemenus/draw.js +1 -1
- package/src/components/updatemenus/index.js +1 -1
- package/src/components/updatemenus/scrollbox.js +1 -1
- package/src/constants/alignment.js +1 -1
- package/src/constants/delta.js +1 -1
- package/src/constants/docs.js +1 -1
- package/src/constants/filter_ops.js +1 -1
- package/src/constants/gl3d_dashes.js +1 -1
- package/src/constants/gl3d_markers.js +1 -1
- package/src/constants/interactions.js +1 -1
- package/src/constants/numerical.js +1 -1
- package/src/constants/xmlns_namespaces.js +1 -1
- package/src/core.js +8 -2
- package/src/fonts/mathjax_config.js +1 -1
- package/src/fonts/ploticon.js +1 -1
- package/src/lib/anchor_utils.js +1 -1
- package/src/lib/angles.js +1 -1
- package/src/lib/array.js +1 -1
- package/src/lib/clean_number.js +1 -1
- package/src/lib/clear_gl_canvases.js +1 -1
- package/src/lib/clear_responsive.js +1 -1
- package/src/lib/coerce.js +1 -1
- package/src/lib/dates.js +1 -1
- package/src/lib/dom.js +1 -1
- package/src/lib/events.js +1 -1
- package/src/lib/extend.js +1 -1
- package/src/lib/filter_unique.js +1 -1
- package/src/lib/filter_visible.js +1 -1
- package/src/lib/geo_location_utils.js +312 -7
- package/src/lib/geojson_utils.js +1 -1
- package/src/lib/geometry2d.js +1 -1
- package/src/lib/gl_format_color.js +1 -1
- package/src/lib/gup.js +1 -1
- package/src/lib/identity.js +1 -1
- package/src/lib/index.js +57 -31
- package/src/lib/is_plain_object.js +1 -1
- package/src/lib/keyed_container.js +1 -1
- package/src/lib/localize.js +1 -1
- package/src/lib/loggers.js +36 -10
- package/src/lib/make_trace_groups.js +1 -1
- package/src/lib/matrix.js +1 -1
- package/src/lib/mod.js +1 -1
- package/src/lib/nested_property.js +1 -1
- package/src/lib/noop.js +1 -1
- package/src/lib/notifier.js +13 -7
- package/src/lib/override_cursor.js +1 -1
- package/src/lib/polygon.js +1 -1
- package/src/lib/prepare_regl.js +1 -1
- package/src/lib/push_unique.js +1 -1
- package/src/lib/queue.js +1 -1
- package/src/lib/regex.js +1 -1
- package/src/lib/relative_attr.js +1 -1
- package/src/lib/relink_private.js +1 -1
- package/src/lib/search.js +1 -1
- package/src/lib/setcursor.js +1 -1
- package/src/lib/show_no_webgl_msg.js +1 -1
- package/src/lib/stats.js +1 -1
- package/src/lib/str2rgbarray.js +1 -1
- package/src/lib/svg_text_utils.js +1 -1
- package/src/lib/throttle.js +1 -1
- package/src/lib/to_log_range.js +1 -1
- package/src/lib/topojson_utils.js +1 -1
- package/src/locale-en-us.js +1 -1
- package/src/locale-en.js +1 -1
- package/src/plot_api/container_array_match.js +1 -1
- package/src/plot_api/edit_types.js +1 -1
- package/src/plot_api/helpers.js +1 -1
- package/src/plot_api/index.js +1 -1
- package/src/plot_api/manage_arrays.js +1 -1
- package/src/plot_api/plot_api.js +2 -2
- package/src/plot_api/plot_config.js +19 -2
- package/src/plot_api/plot_schema.js +1 -1
- package/src/plot_api/plot_template.js +1 -1
- package/src/plot_api/subroutines.js +7 -1
- package/src/plot_api/template_api.js +1 -1
- package/src/plot_api/to_image.js +1 -1
- package/src/plot_api/validate.js +5 -4
- package/src/plots/animation_attributes.js +1 -1
- package/src/plots/array_container_defaults.js +1 -1
- package/src/plots/attributes.js +1 -1
- package/src/plots/cartesian/attributes.js +1 -1
- package/src/plots/cartesian/autorange.js +1 -1
- package/src/plots/cartesian/axes.js +7 -3
- package/src/plots/cartesian/axis_autotype.js +1 -1
- package/src/plots/cartesian/axis_defaults.js +1 -1
- package/src/plots/cartesian/axis_ids.js +1 -1
- package/src/plots/cartesian/category_order_defaults.js +1 -1
- package/src/plots/cartesian/clean_ticks.js +1 -1
- package/src/plots/cartesian/constants.js +2 -3
- package/src/plots/cartesian/constraints.js +1 -1
- package/src/plots/cartesian/dragbox.js +1 -1
- package/src/plots/cartesian/graph_interact.js +1 -1
- package/src/plots/cartesian/include_components.js +1 -1
- package/src/plots/cartesian/index.js +1 -1
- package/src/plots/cartesian/layout_attributes.js +1 -1
- package/src/plots/cartesian/layout_defaults.js +113 -28
- package/src/plots/cartesian/line_grid_defaults.js +1 -1
- package/src/plots/cartesian/position_defaults.js +1 -1
- package/src/plots/cartesian/scale_zoom.js +1 -1
- package/src/plots/cartesian/select.js +1 -1
- package/src/plots/cartesian/set_convert.js +1 -1
- package/src/plots/cartesian/tick_label_defaults.js +1 -1
- package/src/plots/cartesian/tick_mark_defaults.js +1 -1
- package/src/plots/cartesian/tick_value_defaults.js +1 -1
- package/src/plots/cartesian/transition_axes.js +1 -1
- package/src/plots/cartesian/type_defaults.js +11 -3
- package/src/plots/command.js +1 -1
- package/src/plots/domain.js +1 -1
- package/src/plots/font_attributes.js +1 -1
- package/src/plots/frame_attributes.js +1 -1
- package/src/plots/geo/constants.js +1 -1
- package/src/plots/geo/geo.js +114 -51
- package/src/plots/geo/index.js +1 -1
- package/src/plots/geo/layout_attributes.js +34 -1
- package/src/plots/geo/layout_defaults.js +80 -15
- package/src/plots/geo/projections.js +1 -1
- package/src/plots/geo/zoom.js +2 -2
- package/src/plots/get_data.js +1 -1
- package/src/plots/gl2d/camera.js +1 -1
- package/src/plots/gl2d/convert.js +1 -1
- package/src/plots/gl2d/index.js +1 -1
- package/src/plots/gl2d/scene2d.js +1 -1
- package/src/plots/gl3d/index.js +1 -1
- package/src/plots/gl3d/layout/attributes.js +1 -1
- package/src/plots/gl3d/layout/axis_attributes.js +1 -1
- package/src/plots/gl3d/layout/axis_defaults.js +1 -1
- package/src/plots/gl3d/layout/convert.js +1 -1
- package/src/plots/gl3d/layout/defaults.js +1 -1
- package/src/plots/gl3d/layout/layout_attributes.js +1 -1
- package/src/plots/gl3d/layout/spikes.js +1 -1
- package/src/plots/gl3d/layout/tick_marks.js +1 -1
- package/src/plots/gl3d/project.js +1 -1
- package/src/plots/gl3d/scene.js +362 -324
- package/src/plots/gl3d/zip3.js +1 -1
- package/src/plots/layout_attributes.js +33 -3
- package/src/plots/mapbox/constants.js +1 -1
- package/src/plots/mapbox/convert_text_opts.js +1 -1
- package/src/plots/mapbox/index.js +2 -1
- package/src/plots/mapbox/layers.js +28 -1
- package/src/plots/mapbox/layout_attributes.js +1 -1
- package/src/plots/mapbox/layout_defaults.js +1 -1
- package/src/plots/mapbox/mapbox.js +46 -54
- package/src/plots/pad_attributes.js +1 -1
- package/src/plots/plots.js +55 -14
- package/src/plots/polar/constants.js +1 -1
- package/src/plots/polar/helpers.js +1 -1
- package/src/plots/polar/index.js +1 -1
- package/src/plots/polar/layout_attributes.js +1 -1
- package/src/plots/polar/layout_defaults.js +1 -1
- package/src/plots/polar/legacy/area_attributes.js +1 -1
- package/src/plots/polar/legacy/axis_attributes.js +1 -1
- package/src/plots/polar/legacy/index.js +1 -1
- package/src/plots/polar/legacy/micropolar.js +1 -1
- package/src/plots/polar/legacy/micropolar_manager.js +1 -1
- package/src/plots/polar/legacy/undo_manager.js +1 -1
- package/src/plots/polar/polar.js +1 -1
- package/src/plots/polar/set_convert.js +1 -1
- package/src/plots/subplot_defaults.js +1 -1
- package/src/plots/template_attributes.js +1 -1
- package/src/plots/ternary/index.js +1 -1
- package/src/plots/ternary/layout_attributes.js +1 -1
- package/src/plots/ternary/layout_defaults.js +1 -1
- package/src/plots/ternary/ternary.js +1 -1
- package/src/registry.js +1 -1
- package/src/snapshot/cloneplot.js +1 -1
- package/src/snapshot/download.js +1 -1
- package/src/snapshot/filesaver.js +1 -1
- package/src/snapshot/helpers.js +1 -1
- package/src/snapshot/index.js +1 -1
- package/src/snapshot/svgtoimg.js +1 -1
- package/src/snapshot/toimage.js +1 -1
- package/src/snapshot/tosvg.js +21 -13
- package/src/traces/bar/arrays_to_calcdata.js +1 -1
- package/src/traces/bar/attributes.js +1 -1
- package/src/traces/bar/calc.js +1 -1
- package/src/traces/bar/constants.js +1 -1
- package/src/traces/bar/cross_trace_calc.js +1 -1
- package/src/traces/bar/defaults.js +10 -2
- package/src/traces/bar/event_data.js +1 -1
- package/src/traces/bar/helpers.js +1 -1
- package/src/traces/bar/hover.js +7 -2
- package/src/traces/bar/index.js +1 -1
- package/src/traces/bar/layout_attributes.js +1 -1
- package/src/traces/bar/layout_defaults.js +1 -1
- package/src/traces/bar/plot.js +139 -91
- package/src/traces/bar/select.js +1 -1
- package/src/traces/bar/sieve.js +1 -1
- package/src/traces/bar/style.js +9 -4
- package/src/traces/bar/style_defaults.js +1 -1
- package/src/traces/bar/uniform_text.js +84 -0
- package/src/traces/barpolar/attributes.js +1 -1
- package/src/traces/barpolar/calc.js +1 -1
- package/src/traces/barpolar/defaults.js +1 -1
- package/src/traces/barpolar/hover.js +1 -1
- package/src/traces/barpolar/index.js +1 -1
- package/src/traces/barpolar/layout_attributes.js +1 -1
- package/src/traces/barpolar/layout_defaults.js +1 -1
- package/src/traces/barpolar/plot.js +1 -1
- package/src/traces/box/attributes.js +204 -42
- package/src/traces/box/calc.js +286 -92
- package/src/traces/box/cross_trace_calc.js +1 -1
- package/src/traces/box/defaults.js +186 -22
- package/src/traces/box/event_data.js +1 -1
- package/src/traces/box/hover.js +1 -1
- package/src/traces/box/index.js +25 -12
- package/src/traces/box/layout_attributes.js +1 -1
- package/src/traces/box/layout_defaults.js +1 -1
- package/src/traces/box/plot.js +1 -1
- package/src/traces/box/select.js +1 -1
- package/src/traces/box/style.js +1 -1
- package/src/traces/candlestick/attributes.js +1 -1
- package/src/traces/candlestick/calc.js +1 -1
- package/src/traces/candlestick/defaults.js +1 -1
- package/src/traces/candlestick/index.js +1 -1
- package/src/traces/carpet/ab_defaults.js +1 -1
- package/src/traces/carpet/array_minmax.js +1 -1
- package/src/traces/carpet/attributes.js +1 -1
- package/src/traces/carpet/axis_aligned_line.js +1 -1
- package/src/traces/carpet/axis_attributes.js +1 -1
- package/src/traces/carpet/axis_defaults.js +1 -1
- package/src/traces/carpet/calc.js +1 -1
- package/src/traces/carpet/calc_clippath.js +1 -1
- package/src/traces/carpet/calc_gridlines.js +1 -1
- package/src/traces/carpet/calc_labels.js +1 -1
- package/src/traces/carpet/catmull_rom.js +1 -1
- package/src/traces/carpet/cheater_basis.js +1 -1
- package/src/traces/carpet/compute_control_points.js +1 -1
- package/src/traces/carpet/constants.js +1 -1
- package/src/traces/carpet/create_i_derivative_evaluator.js +1 -1
- package/src/traces/carpet/create_j_derivative_evaluator.js +1 -1
- package/src/traces/carpet/create_spline_evaluator.js +1 -1
- package/src/traces/carpet/defaults.js +1 -1
- package/src/traces/carpet/index.js +1 -1
- package/src/traces/carpet/lookup_carpetid.js +1 -1
- package/src/traces/carpet/makepath.js +1 -1
- package/src/traces/carpet/map_1d_array.js +1 -1
- package/src/traces/carpet/orient_text.js +1 -1
- package/src/traces/carpet/plot.js +1 -1
- package/src/traces/carpet/set_convert.js +1 -1
- package/src/traces/carpet/smooth_fill_2d_array.js +1 -1
- package/src/traces/carpet/smooth_fill_array.js +1 -1
- package/src/traces/carpet/xy_defaults.js +1 -1
- package/src/traces/choropleth/attributes.js +18 -2
- package/src/traces/choropleth/calc.js +1 -1
- package/src/traces/choropleth/defaults.js +13 -3
- package/src/traces/choropleth/event_data.js +4 -2
- package/src/traces/choropleth/hover.js +1 -1
- package/src/traces/choropleth/index.js +3 -2
- package/src/traces/choropleth/plot.js +39 -122
- package/src/traces/choropleth/select.js +1 -1
- package/src/traces/choropleth/style.js +1 -1
- package/src/traces/choroplethmapbox/attributes.js +16 -9
- package/src/traces/choroplethmapbox/convert.js +17 -106
- package/src/traces/choroplethmapbox/defaults.js +3 -1
- package/src/traces/choroplethmapbox/index.js +2 -2
- package/src/traces/choroplethmapbox/plot.js +1 -1
- package/src/traces/cone/attributes.js +4 -2
- package/src/traces/cone/calc.js +1 -1
- package/src/traces/cone/convert.js +1 -1
- package/src/traces/cone/defaults.js +1 -1
- package/src/traces/cone/index.js +2 -2
- package/src/traces/contour/attributes.js +1 -1
- package/src/traces/contour/calc.js +1 -1
- package/src/traces/contour/close_boundaries.js +1 -1
- package/src/traces/contour/colorbar.js +6 -4
- package/src/traces/contour/constants.js +1 -1
- package/src/traces/contour/constraint_defaults.js +1 -1
- package/src/traces/contour/constraint_mapping.js +1 -1
- package/src/traces/contour/contours_defaults.js +1 -1
- package/src/traces/contour/convert_to_constraints.js +1 -1
- package/src/traces/contour/defaults.js +1 -1
- package/src/traces/contour/empty_pathinfo.js +1 -1
- package/src/traces/contour/end_plus.js +1 -1
- package/src/traces/contour/find_all_paths.js +1 -1
- package/src/traces/contour/hover.js +1 -1
- package/src/traces/contour/index.js +1 -1
- package/src/traces/contour/label_defaults.js +1 -1
- package/src/traces/contour/make_color_map.js +1 -1
- package/src/traces/contour/make_crossings.js +1 -1
- package/src/traces/contour/plot.js +1 -1
- package/src/traces/contour/set_contours.js +1 -1
- package/src/traces/contour/style.js +1 -1
- package/src/traces/contour/style_defaults.js +1 -1
- package/src/traces/contourcarpet/attributes.js +1 -1
- package/src/traces/contourcarpet/calc.js +1 -1
- package/src/traces/contourcarpet/defaults.js +1 -1
- package/src/traces/contourcarpet/index.js +1 -1
- package/src/traces/contourcarpet/plot.js +1 -1
- package/src/traces/contourgl/convert.js +1 -1
- package/src/traces/contourgl/index.js +1 -1
- package/src/traces/densitymapbox/attributes.js +3 -2
- package/src/traces/densitymapbox/calc.js +1 -1
- package/src/traces/densitymapbox/convert.js +1 -1
- package/src/traces/densitymapbox/defaults.js +1 -1
- package/src/traces/densitymapbox/event_data.js +1 -1
- package/src/traces/densitymapbox/hover.js +1 -1
- package/src/traces/densitymapbox/index.js +2 -2
- package/src/traces/densitymapbox/plot.js +1 -1
- package/src/traces/funnel/arrays_to_calcdata.js +1 -1
- package/src/traces/funnel/attributes.js +1 -1
- package/src/traces/funnel/calc.js +1 -1
- package/src/traces/funnel/constants.js +1 -1
- package/src/traces/funnel/cross_trace_calc.js +1 -1
- package/src/traces/funnel/defaults.js +1 -1
- package/src/traces/funnel/event_data.js +1 -1
- package/src/traces/funnel/hover.js +1 -1
- package/src/traces/funnel/index.js +1 -1
- package/src/traces/funnel/layout_attributes.js +1 -1
- package/src/traces/funnel/layout_defaults.js +1 -1
- package/src/traces/funnel/plot.js +6 -3
- package/src/traces/funnel/style.js +5 -3
- package/src/traces/funnelarea/attributes.js +1 -1
- package/src/traces/funnelarea/base_plot.js +1 -1
- package/src/traces/funnelarea/calc.js +1 -1
- package/src/traces/funnelarea/defaults.js +11 -9
- package/src/traces/funnelarea/index.js +1 -1
- package/src/traces/funnelarea/layout_attributes.js +1 -1
- package/src/traces/funnelarea/layout_defaults.js +1 -1
- package/src/traces/funnelarea/plot.js +23 -14
- package/src/traces/funnelarea/style.js +6 -2
- package/src/traces/heatmap/attributes.js +4 -2
- package/src/traces/heatmap/calc.js +1 -1
- package/src/traces/heatmap/clean_2d_array.js +1 -1
- package/src/traces/heatmap/colorbar.js +1 -1
- package/src/traces/heatmap/convert_column_xyz.js +6 -1
- package/src/traces/heatmap/defaults.js +1 -1
- package/src/traces/heatmap/find_empties.js +1 -1
- package/src/traces/heatmap/hover.js +2 -2
- package/src/traces/heatmap/index.js +2 -2
- package/src/traces/heatmap/interp2d.js +1 -1
- package/src/traces/heatmap/make_bound_array.js +1 -1
- package/src/traces/heatmap/plot.js +1 -1
- package/src/traces/heatmap/style.js +1 -1
- package/src/traces/heatmap/style_defaults.js +1 -1
- package/src/traces/heatmap/xyz_defaults.js +1 -1
- package/src/traces/heatmapgl/attributes.js +1 -1
- package/src/traces/heatmapgl/convert.js +1 -1
- package/src/traces/heatmapgl/index.js +1 -1
- package/src/traces/histogram/attributes.js +1 -1
- package/src/traces/histogram/average.js +1 -1
- package/src/traces/histogram/bin_attributes.js +1 -1
- package/src/traces/histogram/bin_functions.js +1 -1
- package/src/traces/histogram/bin_label_vals.js +1 -1
- package/src/traces/histogram/calc.js +1 -1
- package/src/traces/histogram/constants.js +1 -1
- package/src/traces/histogram/cross_trace_defaults.js +2 -2
- package/src/traces/histogram/defaults.js +1 -1
- package/src/traces/histogram/event_data.js +1 -1
- package/src/traces/histogram/hover.js +1 -1
- package/src/traces/histogram/index.js +1 -1
- package/src/traces/histogram/norm_functions.js +1 -1
- package/src/traces/histogram2d/attributes.js +4 -2
- package/src/traces/histogram2d/calc.js +1 -1
- package/src/traces/histogram2d/defaults.js +1 -1
- package/src/traces/histogram2d/hover.js +1 -1
- package/src/traces/histogram2d/index.js +2 -3
- package/src/traces/histogram2d/sample_defaults.js +1 -1
- package/src/traces/histogram2dcontour/attributes.js +1 -1
- package/src/traces/histogram2dcontour/defaults.js +1 -1
- package/src/traces/histogram2dcontour/index.js +1 -1
- package/src/traces/image/attributes.js +1 -1
- package/src/traces/image/calc.js +1 -1
- package/src/traces/image/constants.js +1 -1
- package/src/traces/image/defaults.js +1 -1
- package/src/traces/image/event_data.js +1 -1
- package/src/traces/image/hover.js +1 -1
- package/src/traces/image/index.js +1 -1
- package/src/traces/image/plot.js +1 -1
- package/src/traces/image/style.js +1 -1
- package/src/traces/indicator/attributes.js +1 -1
- package/src/traces/indicator/base_plot.js +1 -1
- package/src/traces/indicator/calc.js +1 -1
- package/src/traces/indicator/constants.js +1 -1
- package/src/traces/indicator/defaults.js +1 -1
- package/src/traces/indicator/index.js +1 -1
- package/src/traces/indicator/plot.js +1 -1
- package/src/traces/isosurface/attributes.js +3 -2
- package/src/traces/isosurface/calc.js +23 -6
- package/src/traces/isosurface/convert.js +54 -44
- package/src/traces/isosurface/defaults.js +1 -1
- package/src/traces/isosurface/index.js +2 -2
- package/src/traces/mesh3d/attributes.js +16 -4
- package/src/traces/mesh3d/calc.js +1 -1
- package/src/traces/mesh3d/convert.js +13 -8
- package/src/traces/mesh3d/defaults.js +2 -1
- package/src/traces/mesh3d/index.js +2 -2
- package/src/traces/ohlc/attributes.js +1 -1
- package/src/traces/ohlc/calc.js +1 -1
- package/src/traces/ohlc/defaults.js +1 -1
- package/src/traces/ohlc/hover.js +1 -1
- package/src/traces/ohlc/index.js +1 -1
- package/src/traces/ohlc/ohlc_defaults.js +1 -1
- package/src/traces/ohlc/plot.js +1 -1
- package/src/traces/ohlc/select.js +1 -1
- package/src/traces/ohlc/style.js +1 -1
- package/src/traces/parcats/attributes.js +1 -1
- package/src/traces/parcats/base_plot.js +1 -1
- package/src/traces/parcats/calc.js +1 -1
- package/src/traces/parcats/defaults.js +1 -1
- package/src/traces/parcats/index.js +1 -1
- package/src/traces/parcats/parcats.js +1 -1
- package/src/traces/parcats/plot.js +1 -1
- package/src/traces/parcoords/attributes.js +1 -1
- package/src/traces/parcoords/axisbrush.js +1 -1
- package/src/traces/parcoords/base_plot.js +1 -1
- package/src/traces/parcoords/calc.js +1 -1
- package/src/traces/parcoords/constants.js +1 -1
- package/src/traces/parcoords/defaults.js +1 -1
- package/src/traces/parcoords/helpers.js +1 -1
- package/src/traces/parcoords/index.js +1 -1
- package/src/traces/parcoords/lines.js +1 -1
- package/src/traces/parcoords/merge_length.js +1 -1
- package/src/traces/parcoords/parcoords.js +1 -1
- package/src/traces/parcoords/plot.js +1 -1
- package/src/traces/pie/attributes.js +17 -1
- package/src/traces/pie/base_plot.js +1 -1
- package/src/traces/pie/calc.js +7 -8
- package/src/traces/pie/defaults.js +50 -10
- package/src/traces/pie/event_data.js +1 -1
- package/src/traces/pie/helpers.js +1 -1
- package/src/traces/pie/index.js +2 -2
- package/src/traces/pie/layout_attributes.js +1 -1
- package/src/traces/pie/layout_defaults.js +1 -1
- package/src/traces/pie/plot.js +196 -72
- package/src/traces/pie/style.js +6 -2
- package/src/traces/pie/style_one.js +1 -1
- package/src/traces/pointcloud/attributes.js +1 -1
- package/src/traces/pointcloud/convert.js +1 -1
- package/src/traces/pointcloud/defaults.js +1 -1
- package/src/traces/pointcloud/index.js +1 -1
- package/src/traces/sankey/attributes.js +1 -1
- package/src/traces/sankey/base_plot.js +1 -1
- package/src/traces/sankey/calc.js +1 -1
- package/src/traces/sankey/constants.js +1 -1
- package/src/traces/sankey/defaults.js +1 -1
- package/src/traces/sankey/index.js +1 -1
- package/src/traces/sankey/plot.js +10 -6
- package/src/traces/sankey/render.js +1 -1
- package/src/traces/sankey/select.js +1 -1
- package/src/traces/scatter/arrays_to_calcdata.js +1 -1
- package/src/traces/scatter/attributes.js +1 -1
- package/src/traces/scatter/calc.js +1 -1
- package/src/traces/scatter/calc_selection.js +1 -1
- package/src/traces/scatter/colorscale_calc.js +1 -1
- package/src/traces/scatter/constants.js +1 -1
- package/src/traces/scatter/cross_trace_calc.js +1 -1
- package/src/traces/scatter/cross_trace_defaults.js +1 -1
- package/src/traces/scatter/defaults.js +1 -1
- package/src/traces/scatter/fillcolor_defaults.js +1 -1
- package/src/traces/scatter/format_labels.js +1 -1
- package/src/traces/scatter/get_trace_color.js +1 -1
- package/src/traces/scatter/hover.js +1 -1
- package/src/traces/scatter/index.js +1 -1
- package/src/traces/scatter/line_defaults.js +1 -1
- package/src/traces/scatter/line_points.js +1 -1
- package/src/traces/scatter/line_shape_defaults.js +1 -1
- package/src/traces/scatter/link_traces.js +1 -1
- package/src/traces/scatter/make_bubble_size_func.js +1 -1
- package/src/traces/scatter/marker_colorbar.js +1 -1
- package/src/traces/scatter/marker_defaults.js +1 -1
- package/src/traces/scatter/plot.js +1 -1
- package/src/traces/scatter/select.js +1 -1
- package/src/traces/scatter/stack_defaults.js +1 -1
- package/src/traces/scatter/style.js +1 -1
- package/src/traces/scatter/subtypes.js +1 -1
- package/src/traces/scatter/text_defaults.js +1 -1
- package/src/traces/scatter/xy_defaults.js +1 -1
- package/src/traces/scatter3d/attributes.js +1 -1
- package/src/traces/scatter3d/calc.js +1 -1
- package/src/traces/scatter3d/calc_errors.js +1 -1
- package/src/traces/scatter3d/convert.js +1 -1
- package/src/traces/scatter3d/defaults.js +1 -1
- package/src/traces/scatter3d/index.js +1 -1
- package/src/traces/scattercarpet/attributes.js +1 -1
- package/src/traces/scattercarpet/calc.js +1 -1
- package/src/traces/scattercarpet/defaults.js +1 -1
- package/src/traces/scattercarpet/event_data.js +1 -1
- package/src/traces/scattercarpet/format_labels.js +1 -1
- package/src/traces/scattercarpet/hover.js +1 -1
- package/src/traces/scattercarpet/index.js +1 -1
- package/src/traces/scattercarpet/plot.js +1 -1
- package/src/traces/scattergeo/attributes.js +35 -3
- package/src/traces/scattergeo/calc.js +13 -2
- package/src/traces/scattergeo/defaults.js +26 -24
- package/src/traces/scattergeo/event_data.js +8 -2
- package/src/traces/scattergeo/format_labels.js +1 -1
- package/src/traces/scattergeo/hover.js +1 -1
- package/src/traces/scattergeo/index.js +3 -2
- package/src/traces/scattergeo/plot.js +55 -20
- package/src/traces/scattergeo/select.js +1 -1
- package/src/traces/scattergeo/style.js +1 -1
- package/src/traces/scattergl/attributes.js +1 -1
- package/src/traces/scattergl/calc.js +1 -1
- package/src/traces/scattergl/constants.js +1 -1
- package/src/traces/scattergl/convert.js +14 -10
- package/src/traces/scattergl/defaults.js +3 -2
- package/src/traces/scattergl/edit_style.js +1 -1
- package/src/traces/scattergl/format_labels.js +1 -1
- package/src/traces/scattergl/helpers.js +23 -0
- package/src/traces/scattergl/hover.js +5 -5
- package/src/traces/scattergl/index.js +1 -1
- package/src/traces/scattergl/plot.js +1 -1
- package/src/traces/scattergl/scene_update.js +1 -1
- package/src/traces/scattergl/select.js +1 -1
- package/src/traces/scattermapbox/attributes.js +1 -1
- package/src/traces/scattermapbox/convert.js +1 -1
- package/src/traces/scattermapbox/defaults.js +1 -1
- package/src/traces/scattermapbox/event_data.js +1 -1
- package/src/traces/scattermapbox/format_labels.js +1 -1
- package/src/traces/scattermapbox/hover.js +1 -1
- package/src/traces/scattermapbox/index.js +1 -1
- package/src/traces/scattermapbox/plot.js +1 -1
- package/src/traces/scattermapbox/select.js +1 -1
- package/src/traces/scatterpolar/attributes.js +1 -1
- package/src/traces/scatterpolar/calc.js +1 -1
- package/src/traces/scatterpolar/defaults.js +1 -1
- package/src/traces/scatterpolar/format_labels.js +1 -1
- package/src/traces/scatterpolar/hover.js +1 -1
- package/src/traces/scatterpolar/index.js +1 -1
- package/src/traces/scatterpolar/plot.js +1 -1
- package/src/traces/scatterpolargl/attributes.js +1 -1
- package/src/traces/scatterpolargl/calc.js +1 -1
- package/src/traces/scatterpolargl/defaults.js +1 -1
- package/src/traces/scatterpolargl/format_labels.js +1 -1
- package/src/traces/scatterpolargl/hover.js +1 -1
- package/src/traces/scatterpolargl/index.js +1 -1
- package/src/traces/scatterpolargl/plot.js +1 -1
- package/src/traces/scatterternary/attributes.js +1 -1
- package/src/traces/scatterternary/calc.js +1 -1
- package/src/traces/scatterternary/defaults.js +1 -1
- package/src/traces/scatterternary/event_data.js +1 -1
- package/src/traces/scatterternary/format_labels.js +1 -1
- package/src/traces/scatterternary/hover.js +1 -1
- package/src/traces/scatterternary/index.js +1 -1
- package/src/traces/scatterternary/plot.js +1 -1
- package/src/traces/splom/attributes.js +1 -1
- package/src/traces/splom/base_plot.js +1 -1
- package/src/traces/splom/calc.js +1 -1
- package/src/traces/splom/defaults.js +3 -3
- package/src/traces/splom/edit_style.js +1 -1
- package/src/traces/splom/helpers.js +1 -1
- package/src/traces/splom/hover.js +1 -1
- package/src/traces/splom/index.js +1 -1
- package/src/traces/splom/plot.js +1 -1
- package/src/traces/splom/scene_update.js +1 -1
- package/src/traces/splom/select.js +1 -1
- package/src/traces/streamtube/attributes.js +3 -2
- package/src/traces/streamtube/calc.js +112 -54
- package/src/traces/streamtube/convert.js +7 -7
- package/src/traces/streamtube/defaults.js +1 -1
- package/src/traces/streamtube/index.js +3 -3
- package/src/traces/sunburst/attributes.js +11 -2
- package/src/traces/sunburst/base_plot.js +1 -1
- package/src/traces/sunburst/calc.js +4 -2
- package/src/traces/sunburst/constants.js +1 -1
- package/src/traces/sunburst/defaults.js +7 -2
- package/src/traces/sunburst/fx.js +24 -23
- package/src/traces/sunburst/helpers.js +16 -9
- package/src/traces/sunburst/index.js +1 -1
- package/src/traces/sunburst/layout_attributes.js +1 -1
- package/src/traces/sunburst/layout_defaults.js +1 -1
- package/src/traces/sunburst/plot.js +52 -25
- package/src/traces/sunburst/style.js +6 -2
- package/src/traces/surface/attributes.js +3 -2
- package/src/traces/surface/calc.js +1 -1
- package/src/traces/surface/convert.js +1 -1
- package/src/traces/surface/defaults.js +1 -1
- package/src/traces/surface/index.js +2 -2
- package/src/traces/table/attributes.js +1 -1
- package/src/traces/table/base_plot.js +1 -1
- package/src/traces/table/calc.js +1 -1
- package/src/traces/table/constants.js +1 -1
- package/src/traces/table/data_preparation_helper.js +1 -1
- package/src/traces/table/data_split_helpers.js +1 -1
- package/src/traces/table/defaults.js +1 -1
- package/src/traces/table/index.js +1 -1
- package/src/traces/table/plot.js +1 -1
- package/src/traces/treemap/attributes.js +10 -2
- package/src/traces/treemap/base_plot.js +1 -1
- package/src/traces/treemap/calc.js +1 -1
- package/src/traces/treemap/constants.js +1 -1
- package/src/traces/treemap/defaults.js +8 -5
- package/src/traces/treemap/draw_ancestors.js +9 -11
- package/src/traces/treemap/draw_descendants.js +6 -2
- package/src/traces/treemap/index.js +1 -1
- package/src/traces/treemap/layout_attributes.js +1 -1
- package/src/traces/treemap/layout_defaults.js +1 -1
- package/src/traces/treemap/partition.js +1 -1
- package/src/traces/treemap/plot.js +62 -47
- package/src/traces/treemap/style.js +6 -2
- package/src/traces/violin/attributes.js +5 -2
- package/src/traces/violin/calc.js +1 -1
- package/src/traces/violin/cross_trace_calc.js +1 -1
- package/src/traces/violin/defaults.js +1 -1
- package/src/traces/violin/helpers.js +1 -1
- package/src/traces/violin/hover.js +1 -1
- package/src/traces/violin/index.js +1 -1
- package/src/traces/violin/layout_attributes.js +1 -1
- package/src/traces/violin/layout_defaults.js +1 -1
- package/src/traces/violin/plot.js +1 -1
- package/src/traces/violin/style.js +1 -1
- package/src/traces/volume/attributes.js +3 -2
- package/src/traces/volume/convert.js +13 -13
- package/src/traces/volume/defaults.js +1 -1
- package/src/traces/volume/index.js +2 -2
- package/src/traces/waterfall/attributes.js +1 -1
- package/src/traces/waterfall/calc.js +1 -1
- package/src/traces/waterfall/constants.js +1 -1
- package/src/traces/waterfall/cross_trace_calc.js +1 -1
- package/src/traces/waterfall/defaults.js +1 -1
- package/src/traces/waterfall/event_data.js +1 -1
- package/src/traces/waterfall/hover.js +1 -1
- package/src/traces/waterfall/index.js +1 -1
- package/src/traces/waterfall/layout_attributes.js +1 -1
- package/src/traces/waterfall/layout_defaults.js +1 -1
- package/src/traces/waterfall/plot.js +6 -3
- package/src/traces/waterfall/style.js +5 -3
- package/src/transforms/aggregate.js +1 -1
- package/src/transforms/filter.js +1 -1
- package/src/transforms/groupby.js +2 -2
- package/src/transforms/helpers.js +1 -1
- package/src/transforms/sort.js +1 -1
- package/tasks/noci_test.sh +1 -1
- package/tasks/test_syntax.js +1 -1
- package/tasks/util/constants.js +1 -1
- package/tasks/util/wrap_locale.js +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2012-
|
|
2
|
+
* Copyright 2012-2020, Plotly, Inc.
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -181,6 +181,22 @@ module.exports = {
|
|
|
181
181
|
textfont: extendFlat({}, textFontAttrs, {
|
|
182
182
|
description: 'Sets the font used for `textinfo`.'
|
|
183
183
|
}),
|
|
184
|
+
insidetextorientation: {
|
|
185
|
+
valType: 'enumerated',
|
|
186
|
+
role: 'info',
|
|
187
|
+
values: ['horizontal', 'radial', 'tangential', 'auto'],
|
|
188
|
+
dflt: 'auto',
|
|
189
|
+
editType: 'plot',
|
|
190
|
+
description: [
|
|
191
|
+
'Controls the orientation of the text inside chart sectors.',
|
|
192
|
+
'When set to *auto*, text may be oriented in any direction in order',
|
|
193
|
+
'to be as big as possible in the middle of a sector.',
|
|
194
|
+
'The *horizontal* option orients text to be parallel with the bottom',
|
|
195
|
+
'of the chart, and may make text smaller in order to achieve that goal.',
|
|
196
|
+
'The *radial* option orients text along the radius of the sector.',
|
|
197
|
+
'The *tangential* option orients text perpendicular to the radius of the sector.'
|
|
198
|
+
].join(' ')
|
|
199
|
+
},
|
|
184
200
|
insidetextfont: extendFlat({}, textFontAttrs, {
|
|
185
201
|
description: 'Sets the font used for `textinfo` lying inside the sector.'
|
|
186
202
|
}),
|
package/src/traces/pie/calc.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2012-
|
|
2
|
+
* Copyright 2012-2020, Plotly, Inc.
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
'use strict';
|
|
10
10
|
|
|
11
11
|
var isNumeric = require('fast-isnumeric');
|
|
12
|
-
var isArrayOrTypedArray = require('../../lib').isArrayOrTypedArray;
|
|
13
12
|
var tinycolor = require('tinycolor2');
|
|
14
13
|
|
|
15
14
|
var Color = require('../../components/color');
|
|
@@ -25,26 +24,26 @@ function calc(gd, trace) {
|
|
|
25
24
|
var labels = trace.labels;
|
|
26
25
|
var colors = trace.marker.colors || [];
|
|
27
26
|
var vals = trace.values;
|
|
28
|
-
var
|
|
27
|
+
var len = trace._length;
|
|
28
|
+
var hasValues = trace._hasValues && len;
|
|
29
29
|
|
|
30
30
|
var i, pt;
|
|
31
31
|
|
|
32
32
|
if(trace.dlabel) {
|
|
33
|
-
labels = new Array(
|
|
34
|
-
for(i = 0; i <
|
|
33
|
+
labels = new Array(len);
|
|
34
|
+
for(i = 0; i < len; i++) {
|
|
35
35
|
labels[i] = String(trace.label0 + i * trace.dlabel);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
var allThisTraceLabels = {};
|
|
40
40
|
var pullColor = makePullColorFn(fullLayout['_' + trace.type + 'colormap']);
|
|
41
|
-
var seriesLen = (hasVals ? vals : labels).length;
|
|
42
41
|
var vTotal = 0;
|
|
43
42
|
var isAggregated = false;
|
|
44
43
|
|
|
45
|
-
for(i = 0; i <
|
|
44
|
+
for(i = 0; i < len; i++) {
|
|
46
45
|
var v, label, hidden;
|
|
47
|
-
if(
|
|
46
|
+
if(hasValues) {
|
|
48
47
|
v = vals[i];
|
|
49
48
|
if(!isNumeric(v)) continue;
|
|
50
49
|
v = +v;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2012-
|
|
2
|
+
* Copyright 2012-2020, Plotly, Inc.
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -8,26 +8,57 @@
|
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
10
10
|
|
|
11
|
+
var isNumeric = require('fast-isnumeric');
|
|
11
12
|
var Lib = require('../../lib');
|
|
12
13
|
var attributes = require('./attributes');
|
|
13
14
|
var handleDomainDefaults = require('../../plots/domain').defaults;
|
|
14
15
|
var handleText = require('../bar/defaults').handleText;
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
function handleLabelsAndValues(labels, values) {
|
|
18
|
+
var hasLabels = Array.isArray(labels);
|
|
19
|
+
var hasValues = Lib.isArrayOrTypedArray(values);
|
|
20
|
+
var len = Math.min(
|
|
21
|
+
hasLabels ? labels.length : Infinity,
|
|
22
|
+
hasValues ? values.length : Infinity
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
if(!isFinite(len)) len = 0;
|
|
26
|
+
|
|
27
|
+
if(len && hasValues) {
|
|
28
|
+
var hasPositive;
|
|
29
|
+
for(var i = 0; i < len; i++) {
|
|
30
|
+
var v = values[i];
|
|
31
|
+
if(isNumeric(v) && v > 0) {
|
|
32
|
+
hasPositive = true;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if(!hasPositive) len = 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return {
|
|
40
|
+
hasLabels: hasLabels,
|
|
41
|
+
hasValues: hasValues,
|
|
42
|
+
len: len
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function supplyDefaults(traceIn, traceOut, defaultColor, layout) {
|
|
17
47
|
function coerce(attr, dflt) {
|
|
18
48
|
return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);
|
|
19
49
|
}
|
|
20
50
|
|
|
21
|
-
var len;
|
|
22
|
-
var vals = coerce('values');
|
|
23
|
-
var hasVals = Lib.isArrayOrTypedArray(vals);
|
|
24
51
|
var labels = coerce('labels');
|
|
25
|
-
|
|
26
|
-
len = labels.length;
|
|
27
|
-
if(hasVals) len = Math.min(len, vals.length);
|
|
28
|
-
} else if(hasVals) {
|
|
29
|
-
len = vals.length;
|
|
52
|
+
var values = coerce('values');
|
|
30
53
|
|
|
54
|
+
var res = handleLabelsAndValues(labels, values);
|
|
55
|
+
var len = res.len;
|
|
56
|
+
traceOut._hasLabels = res.hasLabels;
|
|
57
|
+
traceOut._hasValues = res.hasValues;
|
|
58
|
+
|
|
59
|
+
if(!traceOut._hasLabels &&
|
|
60
|
+
traceOut._hasValues
|
|
61
|
+
) {
|
|
31
62
|
coerce('label0');
|
|
32
63
|
coerce('dlabel');
|
|
33
64
|
}
|
|
@@ -70,6 +101,10 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
|
|
|
70
101
|
if(hasOutside) {
|
|
71
102
|
coerce('automargin');
|
|
72
103
|
}
|
|
104
|
+
|
|
105
|
+
if(textposition === 'inside' || textposition === 'auto' || Array.isArray(textposition)) {
|
|
106
|
+
coerce('insidetextorientation');
|
|
107
|
+
}
|
|
73
108
|
}
|
|
74
109
|
|
|
75
110
|
handleDomainDefaults(traceOut, layout, coerce);
|
|
@@ -86,4 +121,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
|
|
|
86
121
|
coerce('direction');
|
|
87
122
|
coerce('rotation');
|
|
88
123
|
coerce('pull');
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
module.exports = {
|
|
127
|
+
handleLabelsAndValues: handleLabelsAndValues,
|
|
128
|
+
supplyDefaults: supplyDefaults
|
|
89
129
|
};
|
package/src/traces/pie/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2012-
|
|
2
|
+
* Copyright 2012-2020, Plotly, Inc.
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
module.exports = {
|
|
12
12
|
attributes: require('./attributes'),
|
|
13
|
-
supplyDefaults: require('./defaults'),
|
|
13
|
+
supplyDefaults: require('./defaults').supplyDefaults,
|
|
14
14
|
supplyLayoutDefaults: require('./layout_defaults'),
|
|
15
15
|
layoutAttributes: require('./layout_attributes'),
|
|
16
16
|
|
package/src/traces/pie/plot.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2012-
|
|
2
|
+
* Copyright 2012-2020, Plotly, Inc.
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -16,6 +16,9 @@ var Color = require('../../components/color');
|
|
|
16
16
|
var Drawing = require('../../components/drawing');
|
|
17
17
|
var Lib = require('../../lib');
|
|
18
18
|
var svgTextUtils = require('../../lib/svg_text_utils');
|
|
19
|
+
var uniformText = require('../bar/uniform_text');
|
|
20
|
+
var recordMinTextSize = uniformText.recordMinTextSize;
|
|
21
|
+
var clearMinTextSize = uniformText.clearMinTextSize;
|
|
19
22
|
|
|
20
23
|
var helpers = require('./helpers');
|
|
21
24
|
var eventData = require('./event_data');
|
|
@@ -25,6 +28,8 @@ function plot(gd, cdModule) {
|
|
|
25
28
|
var fullLayout = gd._fullLayout;
|
|
26
29
|
var gs = fullLayout._size;
|
|
27
30
|
|
|
31
|
+
clearMinTextSize('pie', fullLayout);
|
|
32
|
+
|
|
28
33
|
prerenderTitles(cdModule, gd);
|
|
29
34
|
layoutAreas(cdModule, gs);
|
|
30
35
|
|
|
@@ -52,7 +57,7 @@ function plot(gd, cdModule) {
|
|
|
52
57
|
];
|
|
53
58
|
var hasOutsideText = false;
|
|
54
59
|
|
|
55
|
-
slices.each(function(pt) {
|
|
60
|
+
slices.each(function(pt, i) {
|
|
56
61
|
if(pt.hidden) {
|
|
57
62
|
d3.select(this).selectAll('path,g').remove();
|
|
58
63
|
return;
|
|
@@ -144,15 +149,18 @@ function plot(gd, cdModule) {
|
|
|
144
149
|
s.attr('data-notex', 1);
|
|
145
150
|
});
|
|
146
151
|
|
|
152
|
+
var font = Lib.ensureUniformFontSize(gd, textPosition === 'outside' ?
|
|
153
|
+
determineOutsideTextFont(trace, pt, fullLayout.font) :
|
|
154
|
+
determineInsideTextFont(trace, pt, fullLayout.font)
|
|
155
|
+
);
|
|
156
|
+
|
|
147
157
|
sliceText.text(pt.text)
|
|
148
158
|
.attr({
|
|
149
159
|
'class': 'slicetext',
|
|
150
160
|
transform: '',
|
|
151
161
|
'text-anchor': 'middle'
|
|
152
162
|
})
|
|
153
|
-
.call(Drawing.font,
|
|
154
|
-
determineOutsideTextFont(trace, pt, gd._fullLayout.font) :
|
|
155
|
-
determineInsideTextFont(trace, pt, gd._fullLayout.font))
|
|
163
|
+
.call(Drawing.font, font)
|
|
156
164
|
.call(svgTextUtils.convertToTspans, gd);
|
|
157
165
|
|
|
158
166
|
// position the text relative to the slice
|
|
@@ -164,36 +172,37 @@ function plot(gd, cdModule) {
|
|
|
164
172
|
} else {
|
|
165
173
|
transform = transformInsideText(textBB, pt, cd0);
|
|
166
174
|
if(textPosition === 'auto' && transform.scale < 1) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
175
|
+
var newFont = Lib.ensureUniformFontSize(gd, trace.outsidetextfont);
|
|
176
|
+
|
|
177
|
+
sliceText.call(Drawing.font, newFont);
|
|
178
|
+
textBB = Drawing.bBox(sliceText.node());
|
|
179
|
+
|
|
172
180
|
transform = transformOutsideText(textBB, pt);
|
|
173
181
|
}
|
|
174
182
|
}
|
|
175
183
|
|
|
176
|
-
var
|
|
177
|
-
var
|
|
184
|
+
var textPosAngle = transform.textPosAngle;
|
|
185
|
+
var textXY = textPosAngle === undefined ? pt.pxmid : getCoords(cd0.r, textPosAngle);
|
|
186
|
+
transform.targetX = cx + textXY[0] * transform.rCenter + (transform.x || 0);
|
|
187
|
+
transform.targetY = cy + textXY[1] * transform.rCenter + (transform.y || 0);
|
|
188
|
+
computeTransform(transform, textBB);
|
|
178
189
|
|
|
179
190
|
// save some stuff to use later ensure no labels overlap
|
|
180
191
|
if(transform.outside) {
|
|
181
|
-
|
|
182
|
-
pt.
|
|
183
|
-
pt.
|
|
192
|
+
var targetY = transform.targetY;
|
|
193
|
+
pt.yLabelMin = targetY - textBB.height / 2;
|
|
194
|
+
pt.yLabelMid = targetY;
|
|
195
|
+
pt.yLabelMax = targetY + textBB.height / 2;
|
|
184
196
|
pt.labelExtraX = 0;
|
|
185
197
|
pt.labelExtraY = 0;
|
|
186
198
|
hasOutsideText = true;
|
|
187
199
|
}
|
|
188
200
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
(-(textBB.left + textBB.right) / 2) + ',' +
|
|
195
|
-
(-(textBB.top + textBB.bottom) / 2) +
|
|
196
|
-
')');
|
|
201
|
+
transform.fontSize = font.size;
|
|
202
|
+
recordMinTextSize(trace.type, transform, fullLayout);
|
|
203
|
+
cd[i].transform = transform;
|
|
204
|
+
|
|
205
|
+
sliceText.attr('transform', Lib.getTextTransform(transform));
|
|
197
206
|
});
|
|
198
207
|
});
|
|
199
208
|
|
|
@@ -298,8 +307,10 @@ function plotTextLines(slices, trace) {
|
|
|
298
307
|
// first move the text to its new location
|
|
299
308
|
var sliceText = sliceTop.select('g.slicetext text');
|
|
300
309
|
|
|
301
|
-
|
|
302
|
-
|
|
310
|
+
pt.transform.targetX += pt.labelExtraX;
|
|
311
|
+
pt.transform.targetY += pt.labelExtraY;
|
|
312
|
+
|
|
313
|
+
sliceText.attr('transform', Lib.getTextTransform(pt.transform));
|
|
303
314
|
|
|
304
315
|
// then add a line to the new location
|
|
305
316
|
var lineStartX = pt.cxFinal + pt.pxmid[0];
|
|
@@ -549,59 +560,150 @@ function prerenderTitles(cdModule, gd) {
|
|
|
549
560
|
|
|
550
561
|
function transformInsideText(textBB, pt, cd0) {
|
|
551
562
|
var textDiameter = Math.sqrt(textBB.width * textBB.width + textBB.height * textBB.height);
|
|
552
|
-
var textAspect = textBB.width / textBB.height;
|
|
553
563
|
var halfAngle = pt.halfangle;
|
|
564
|
+
var midAngle = pt.midangle;
|
|
554
565
|
var ring = pt.ring;
|
|
555
566
|
var rInscribed = pt.rInscribed;
|
|
556
567
|
var r = cd0.r || pt.rpx1;
|
|
568
|
+
var orientation = cd0.trace.insidetextorientation;
|
|
569
|
+
var isHorizontal = orientation === 'horizontal';
|
|
570
|
+
var isTangential = orientation === 'tangential';
|
|
571
|
+
var isRadial = orientation === 'radial';
|
|
572
|
+
var isAuto = orientation === 'auto';
|
|
573
|
+
var isCircle = (ring === 1) && (Math.abs(pt.startangle - pt.stopangle) === Math.PI * 2);
|
|
574
|
+
var allTransforms = [];
|
|
575
|
+
var newT;
|
|
576
|
+
|
|
577
|
+
if(!isAuto) {
|
|
578
|
+
// max size if text is placed (horizontally) at the top or bottom of the arc
|
|
579
|
+
|
|
580
|
+
var considerCrossing = function(angle, key) {
|
|
581
|
+
if(isCrossing(pt, angle)) {
|
|
582
|
+
var dStart = Math.abs(angle - pt.startangle);
|
|
583
|
+
var dStop = Math.abs(angle - pt.stopangle);
|
|
584
|
+
|
|
585
|
+
var closestEdge = dStart < dStop ? dStart : dStop;
|
|
586
|
+
|
|
587
|
+
if(key === 'tan') {
|
|
588
|
+
newT = calcTanTransform(textBB, r, ring, closestEdge, 0);
|
|
589
|
+
} else { // case of 'rad'
|
|
590
|
+
newT = calcRadTransform(textBB, r, ring, closestEdge, Math.PI / 2);
|
|
591
|
+
}
|
|
592
|
+
newT.textPosAngle = angle;
|
|
557
593
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
// to improve so this case can get more use
|
|
562
|
-
var transform = {
|
|
563
|
-
scale: rInscribed * r * 2 / textDiameter,
|
|
594
|
+
allTransforms.push(newT);
|
|
595
|
+
}
|
|
596
|
+
};
|
|
564
597
|
|
|
565
|
-
//
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
598
|
+
// to cover all cases with trace.rotation added
|
|
599
|
+
var i;
|
|
600
|
+
if(isHorizontal || isTangential) {
|
|
601
|
+
// top
|
|
602
|
+
for(i = 4; i >= -4; i -= 2) considerCrossing(Math.PI * i, 'tan');
|
|
603
|
+
// bottom
|
|
604
|
+
for(i = 4; i >= -4; i -= 2) considerCrossing(Math.PI * (i + 1), 'tan');
|
|
605
|
+
}
|
|
606
|
+
if(isHorizontal || isRadial) {
|
|
607
|
+
// left
|
|
608
|
+
for(i = 4; i >= -4; i -= 2) considerCrossing(Math.PI * (i + 1.5), 'rad');
|
|
609
|
+
// right
|
|
610
|
+
for(i = 4; i >= -4; i -= 2) considerCrossing(Math.PI * (i + 0.5), 'rad');
|
|
611
|
+
}
|
|
612
|
+
}
|
|
569
613
|
|
|
570
|
-
if(
|
|
614
|
+
if(isCircle || isAuto || isHorizontal) {
|
|
615
|
+
// max size text can be inserted inside without rotating it
|
|
616
|
+
// this inscribes the text rectangle in a circle, which is then inscribed
|
|
617
|
+
// in the slice, so it will be an underestimate, which some day we may want
|
|
618
|
+
// to improve so this case can get more use
|
|
619
|
+
newT = {
|
|
620
|
+
scale: rInscribed * r * 2 / textDiameter,
|
|
621
|
+
|
|
622
|
+
// and the center position and rotation in this case
|
|
623
|
+
rCenter: 1 - rInscribed,
|
|
624
|
+
rotate: 0
|
|
625
|
+
};
|
|
571
626
|
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
627
|
+
newT.textPosAngle = (pt.startangle + pt.stopangle) / 2;
|
|
628
|
+
if(newT.scale >= 1) return newT;
|
|
629
|
+
|
|
630
|
+
allTransforms.push(newT);
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
if(isAuto || isRadial) {
|
|
634
|
+
newT = calcRadTransform(textBB, r, ring, halfAngle, midAngle);
|
|
635
|
+
newT.textPosAngle = (pt.startangle + pt.stopangle) / 2;
|
|
636
|
+
allTransforms.push(newT);
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
if(isAuto || isTangential) {
|
|
640
|
+
newT = calcTanTransform(textBB, r, ring, halfAngle, midAngle);
|
|
641
|
+
newT.textPosAngle = (pt.startangle + pt.stopangle) / 2;
|
|
642
|
+
allTransforms.push(newT);
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
var id = 0;
|
|
646
|
+
var maxScale = 0;
|
|
647
|
+
for(var k = 0; k < allTransforms.length; k++) {
|
|
648
|
+
var s = allTransforms[k].scale;
|
|
649
|
+
if(maxScale < s) {
|
|
650
|
+
maxScale = s;
|
|
651
|
+
id = k;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
if(!isAuto && maxScale >= 1) {
|
|
655
|
+
// respect test order for non-auto options
|
|
656
|
+
break;
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
return allTransforms[id];
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
function isCrossing(pt, angle) {
|
|
663
|
+
var start = pt.startangle;
|
|
664
|
+
var stop = pt.stopangle;
|
|
665
|
+
return (
|
|
666
|
+
(start > angle && angle > stop) ||
|
|
667
|
+
(start < angle && angle < stop)
|
|
577
668
|
);
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
function calcRadTransform(textBB, r, ring, halfAngle, midAngle) {
|
|
672
|
+
// max size if text is rotated radially
|
|
673
|
+
var a = textBB.width / textBB.height;
|
|
674
|
+
var s = calcMaxHalfSize(a, halfAngle, r, ring);
|
|
675
|
+
return {
|
|
676
|
+
scale: s * 2 / textBB.height,
|
|
677
|
+
rCenter: calcRCenter(a, s / r),
|
|
678
|
+
rotate: calcRotate(midAngle)
|
|
583
679
|
};
|
|
680
|
+
}
|
|
584
681
|
|
|
682
|
+
function calcTanTransform(textBB, r, ring, halfAngle, midAngle) {
|
|
585
683
|
// max size if text is rotated tangentially
|
|
586
|
-
var
|
|
587
|
-
var
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
var tangentialTransform = {
|
|
593
|
-
scale: maxHalfWidthTangential * 2 / textBB.width,
|
|
594
|
-
rCenter: Math.cos(maxHalfWidthTangential / r) -
|
|
595
|
-
maxHalfWidthTangential / textAspect / r,
|
|
596
|
-
rotate: (180 / Math.PI * pt.midangle + 810) % 180 - 90
|
|
684
|
+
var a = textBB.height / textBB.width;
|
|
685
|
+
var s = calcMaxHalfSize(a, halfAngle, r, ring);
|
|
686
|
+
return {
|
|
687
|
+
scale: s * 2 / textBB.width,
|
|
688
|
+
rCenter: calcRCenter(a, s / r),
|
|
689
|
+
rotate: calcRotate(midAngle + Math.PI / 2)
|
|
597
690
|
};
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
function calcRCenter(a, b) {
|
|
694
|
+
return Math.cos(b) - a * b;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
function calcRotate(t) {
|
|
698
|
+
return (180 / Math.PI * t + 720) % 180 - 90;
|
|
699
|
+
}
|
|
602
700
|
|
|
603
|
-
|
|
604
|
-
|
|
701
|
+
function calcMaxHalfSize(a, halfAngle, r, ring) {
|
|
702
|
+
var q = a + 1 / (2 * Math.tan(halfAngle));
|
|
703
|
+
return r * Math.min(
|
|
704
|
+
1 / (Math.sqrt(q * q + 0.5) + q),
|
|
705
|
+
ring / (Math.sqrt(a * a + ring / 2) + a)
|
|
706
|
+
);
|
|
605
707
|
}
|
|
606
708
|
|
|
607
709
|
function getInscribedRadiusFraction(pt, cd0) {
|
|
@@ -921,6 +1023,7 @@ function groupScale(cdModule, scaleGroups) {
|
|
|
921
1023
|
|
|
922
1024
|
function setCoords(cd) {
|
|
923
1025
|
var cd0 = cd[0];
|
|
1026
|
+
var r = cd0.r;
|
|
924
1027
|
var trace = cd0.trace;
|
|
925
1028
|
var currentAngle = trace.rotation * Math.PI / 180;
|
|
926
1029
|
var angleFactor = 2 * Math.PI / cd0.vTotal;
|
|
@@ -941,11 +1044,7 @@ function setCoords(cd) {
|
|
|
941
1044
|
lastPt = 'px0';
|
|
942
1045
|
}
|
|
943
1046
|
|
|
944
|
-
|
|
945
|
-
return [cd0.r * Math.sin(angle), -cd0.r * Math.cos(angle)];
|
|
946
|
-
}
|
|
947
|
-
|
|
948
|
-
currentCoords = getCoords(currentAngle);
|
|
1047
|
+
currentCoords = getCoords(r, currentAngle);
|
|
949
1048
|
|
|
950
1049
|
for(i = 0; i < cd.length; i++) {
|
|
951
1050
|
cdi = cd[i];
|
|
@@ -953,12 +1052,13 @@ function setCoords(cd) {
|
|
|
953
1052
|
|
|
954
1053
|
cdi[firstPt] = currentCoords;
|
|
955
1054
|
|
|
1055
|
+
cdi.startangle = currentAngle;
|
|
956
1056
|
currentAngle += angleFactor * cdi.v / 2;
|
|
957
|
-
cdi.pxmid = getCoords(currentAngle);
|
|
1057
|
+
cdi.pxmid = getCoords(r, currentAngle);
|
|
958
1058
|
cdi.midangle = currentAngle;
|
|
959
|
-
|
|
960
1059
|
currentAngle += angleFactor * cdi.v / 2;
|
|
961
|
-
currentCoords = getCoords(currentAngle);
|
|
1060
|
+
currentCoords = getCoords(r, currentAngle);
|
|
1061
|
+
cdi.stopangle = currentAngle;
|
|
962
1062
|
|
|
963
1063
|
cdi[lastPt] = currentCoords;
|
|
964
1064
|
|
|
@@ -970,6 +1070,10 @@ function setCoords(cd) {
|
|
|
970
1070
|
}
|
|
971
1071
|
}
|
|
972
1072
|
|
|
1073
|
+
function getCoords(r, angle) {
|
|
1074
|
+
return [r * Math.sin(angle), -r * Math.cos(angle)];
|
|
1075
|
+
}
|
|
1076
|
+
|
|
973
1077
|
function formatSliceLabel(gd, pt, cd0) {
|
|
974
1078
|
var fullLayout = gd._fullLayout;
|
|
975
1079
|
var trace = cd0.trace;
|
|
@@ -1024,6 +1128,25 @@ function formatSliceLabel(gd, pt, cd0) {
|
|
|
1024
1128
|
}
|
|
1025
1129
|
}
|
|
1026
1130
|
}
|
|
1131
|
+
|
|
1132
|
+
function computeTransform(
|
|
1133
|
+
transform, // inout
|
|
1134
|
+
textBB // in
|
|
1135
|
+
) {
|
|
1136
|
+
var rotate = transform.rotate;
|
|
1137
|
+
var scale = transform.scale;
|
|
1138
|
+
if(scale > 1) scale = 1;
|
|
1139
|
+
|
|
1140
|
+
var a = rotate * Math.PI / 180;
|
|
1141
|
+
var cosA = Math.cos(a);
|
|
1142
|
+
var sinA = Math.sin(a);
|
|
1143
|
+
var midX = (textBB.left + textBB.right) / 2;
|
|
1144
|
+
var midY = (textBB.top + textBB.bottom) / 2;
|
|
1145
|
+
transform.textX = midX * cosA - midY * sinA;
|
|
1146
|
+
transform.textY = midX * sinA + midY * cosA;
|
|
1147
|
+
transform.noCenter = true;
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1027
1150
|
module.exports = {
|
|
1028
1151
|
plot: plot,
|
|
1029
1152
|
formatSliceLabel: formatSliceLabel,
|
|
@@ -1033,4 +1156,5 @@ module.exports = {
|
|
|
1033
1156
|
prerenderTitles: prerenderTitles,
|
|
1034
1157
|
layoutAreas: layoutAreas,
|
|
1035
1158
|
attachFxHandlers: attachFxHandlers,
|
|
1159
|
+
computeTransform: computeTransform
|
|
1036
1160
|
};
|
package/src/traces/pie/style.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright 2012-
|
|
2
|
+
* Copyright 2012-2020, Plotly, Inc.
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -11,9 +11,13 @@
|
|
|
11
11
|
var d3 = require('d3');
|
|
12
12
|
|
|
13
13
|
var styleOne = require('./style_one');
|
|
14
|
+
var resizeText = require('../bar/uniform_text').resizeText;
|
|
14
15
|
|
|
15
16
|
module.exports = function style(gd) {
|
|
16
|
-
gd._fullLayout._pielayer.selectAll('.trace')
|
|
17
|
+
var s = gd._fullLayout._pielayer.selectAll('.trace');
|
|
18
|
+
resizeText(gd, s, 'pie');
|
|
19
|
+
|
|
20
|
+
s.each(function(cd) {
|
|
17
21
|
var cd0 = cd[0];
|
|
18
22
|
var trace = cd0.trace;
|
|
19
23
|
var traceSelection = d3.select(this);
|