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
package/src/traces/bar/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
|
|
@@ -19,6 +19,10 @@ var Drawing = require('../../components/drawing');
|
|
|
19
19
|
var Registry = require('../../registry');
|
|
20
20
|
var tickText = require('../../plots/cartesian/axes').tickText;
|
|
21
21
|
|
|
22
|
+
var uniformText = require('./uniform_text');
|
|
23
|
+
var recordMinTextSize = uniformText.recordMinTextSize;
|
|
24
|
+
var clearMinTextSize = uniformText.clearMinTextSize;
|
|
25
|
+
|
|
22
26
|
var style = require('./style');
|
|
23
27
|
var helpers = require('./helpers');
|
|
24
28
|
var constants = require('./constants');
|
|
@@ -58,8 +62,8 @@ function getXY(di, xa, ya, isHorizontal) {
|
|
|
58
62
|
return isHorizontal ? [s, p] : [p, s];
|
|
59
63
|
}
|
|
60
64
|
|
|
61
|
-
function transition(selection, opts, makeOnCompleteCallback) {
|
|
62
|
-
if(hasTransition(opts)) {
|
|
65
|
+
function transition(selection, fullLayout, opts, makeOnCompleteCallback) {
|
|
66
|
+
if(!fullLayout.uniformtext.mode && hasTransition(opts)) {
|
|
63
67
|
var onComplete;
|
|
64
68
|
if(makeOnCompleteCallback) {
|
|
65
69
|
onComplete = makeOnCompleteCallback();
|
|
@@ -91,6 +95,9 @@ function plot(gd, plotinfo, cdModule, traceLayer, opts, makeOnCompleteCallback)
|
|
|
91
95
|
gap: fullLayout.bargap,
|
|
92
96
|
groupgap: fullLayout.bargroupgap
|
|
93
97
|
};
|
|
98
|
+
|
|
99
|
+
// don't clear bar when this is called from waterfall or funnel
|
|
100
|
+
clearMinTextSize('bar', fullLayout);
|
|
94
101
|
}
|
|
95
102
|
|
|
96
103
|
var bartraces = Lib.makeTraceGroups(traceLayer, cdModule, 'trace bars').each(function(cd) {
|
|
@@ -140,6 +147,7 @@ function plot(gd, plotinfo, cdModule, traceLayer, opts, makeOnCompleteCallback)
|
|
|
140
147
|
!isNumeric(y0) ||
|
|
141
148
|
!isNumeric(y1)
|
|
142
149
|
);
|
|
150
|
+
|
|
143
151
|
// display zeros if line.width > 0
|
|
144
152
|
if(isBlank && shouldDisplayZeros && helpers.getLineWidth(trace, di) && (isHorizontal ? x1 - x0 === 0 : y1 - y0 === 0)) {
|
|
145
153
|
isBlank = false;
|
|
@@ -149,6 +157,9 @@ function plot(gd, plotinfo, cdModule, traceLayer, opts, makeOnCompleteCallback)
|
|
|
149
157
|
if(isBlank && isHorizontal) x1 = x0;
|
|
150
158
|
if(isBlank && !isHorizontal) y1 = y0;
|
|
151
159
|
|
|
160
|
+
var spansHorizontal = isHorizontal && (x0 !== x1);
|
|
161
|
+
var spansVertical = !isHorizontal && (y0 !== y1);
|
|
162
|
+
|
|
152
163
|
// in waterfall mode `between` we need to adjust bar end points to match the connector width
|
|
153
164
|
if(adjustPixel && !isBlank) {
|
|
154
165
|
if(isHorizontal) {
|
|
@@ -203,19 +214,24 @@ function plot(gd, plotinfo, cdModule, traceLayer, opts, makeOnCompleteCallback)
|
|
|
203
214
|
|
|
204
215
|
var op = Color.opacity(mc);
|
|
205
216
|
var fixpx = (op < 1 || lw > 0.01) ? roundWithLine : expandToVisible;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
217
|
+
|
|
218
|
+
if(spansHorizontal) {
|
|
219
|
+
x0 = fixpx(x0, x1);
|
|
220
|
+
x1 = fixpx(x1, x0);
|
|
221
|
+
}
|
|
222
|
+
if(spansVertical) {
|
|
223
|
+
y0 = fixpx(y0, y1);
|
|
224
|
+
y1 = fixpx(y1, y0);
|
|
225
|
+
}
|
|
210
226
|
}
|
|
211
227
|
|
|
212
|
-
var sel = transition(Lib.ensureSingle(bar, 'path'), opts, makeOnCompleteCallback);
|
|
228
|
+
var sel = transition(Lib.ensureSingle(bar, 'path'), fullLayout, opts, makeOnCompleteCallback);
|
|
213
229
|
sel
|
|
214
230
|
.style('vector-effect', 'non-scaling-stroke')
|
|
215
231
|
.attr('d', 'M' + x0 + ',' + y0 + 'V' + y1 + 'H' + x1 + 'V' + y0 + 'Z')
|
|
216
232
|
.call(Drawing.setClipUrl, plotinfo.layerClipId, gd);
|
|
217
233
|
|
|
218
|
-
if(hasTransition(opts)) {
|
|
234
|
+
if(!fullLayout.uniformtext.mode && hasTransition(opts)) {
|
|
219
235
|
var styleFns = Drawing.makePointStyleFns(trace);
|
|
220
236
|
Drawing.singlePointStyle(di, sel, trace, styleFns, gd);
|
|
221
237
|
}
|
|
@@ -237,14 +253,14 @@ function plot(gd, plotinfo, cdModule, traceLayer, opts, makeOnCompleteCallback)
|
|
|
237
253
|
Registry.getComponentMethod('errorbars', 'plot')(gd, bartraces, plotinfo, opts);
|
|
238
254
|
}
|
|
239
255
|
|
|
240
|
-
function appendBarText(gd, plotinfo, bar,
|
|
256
|
+
function appendBarText(gd, plotinfo, bar, cd, i, x0, x1, y0, y1, opts, makeOnCompleteCallback) {
|
|
241
257
|
var xa = plotinfo.xaxis;
|
|
242
258
|
var ya = plotinfo.yaxis;
|
|
243
259
|
|
|
244
260
|
var fullLayout = gd._fullLayout;
|
|
245
261
|
var textPosition;
|
|
246
262
|
|
|
247
|
-
function appendTextNode(bar, text,
|
|
263
|
+
function appendTextNode(bar, text, font) {
|
|
248
264
|
var textSelection = Lib.ensureSingle(bar, 'text')
|
|
249
265
|
.text(text)
|
|
250
266
|
.attr({
|
|
@@ -254,17 +270,17 @@ function appendBarText(gd, plotinfo, bar, calcTrace, i, x0, x1, y0, y1, opts, ma
|
|
|
254
270
|
// tex and regular text together
|
|
255
271
|
'data-notex': 1
|
|
256
272
|
})
|
|
257
|
-
.call(Drawing.font,
|
|
273
|
+
.call(Drawing.font, font)
|
|
258
274
|
.call(svgTextUtils.convertToTspans, gd);
|
|
259
275
|
|
|
260
276
|
return textSelection;
|
|
261
277
|
}
|
|
262
278
|
|
|
263
279
|
// get trace attributes
|
|
264
|
-
var trace =
|
|
280
|
+
var trace = cd[0].trace;
|
|
265
281
|
var isHorizontal = (trace.orientation === 'h');
|
|
266
282
|
|
|
267
|
-
var text = getText(fullLayout,
|
|
283
|
+
var text = getText(fullLayout, cd, i, xa, ya);
|
|
268
284
|
textPosition = getTextPosition(trace, i);
|
|
269
285
|
|
|
270
286
|
// compute text position
|
|
@@ -272,7 +288,7 @@ function appendBarText(gd, plotinfo, bar, calcTrace, i, x0, x1, y0, y1, opts, ma
|
|
|
272
288
|
opts.mode === 'stack' ||
|
|
273
289
|
opts.mode === 'relative';
|
|
274
290
|
|
|
275
|
-
var calcBar =
|
|
291
|
+
var calcBar = cd[i];
|
|
276
292
|
var isOutmostBar = !inStackOrRelativeMode || calcBar._outmost;
|
|
277
293
|
|
|
278
294
|
if(!text ||
|
|
@@ -285,7 +301,7 @@ function appendBarText(gd, plotinfo, bar, calcTrace, i, x0, x1, y0, y1, opts, ma
|
|
|
285
301
|
}
|
|
286
302
|
|
|
287
303
|
var layoutFont = fullLayout.font;
|
|
288
|
-
var barColor = style.getBarColor(
|
|
304
|
+
var barColor = style.getBarColor(cd[i], trace);
|
|
289
305
|
var insideTextFont = style.getInsideTextFont(trace, i, layoutFont, barColor);
|
|
290
306
|
var outsideTextFont = style.getOutsideTextFont(trace, i, layoutFont);
|
|
291
307
|
|
|
@@ -318,6 +334,7 @@ function appendBarText(gd, plotinfo, bar, calcTrace, i, x0, x1, y0, y1, opts, ma
|
|
|
318
334
|
var textBB;
|
|
319
335
|
var textWidth;
|
|
320
336
|
var textHeight;
|
|
337
|
+
var font;
|
|
321
338
|
|
|
322
339
|
if(textPosition === 'outside') {
|
|
323
340
|
if(!isOutmostBar && !calcBar.hasB) textPosition = 'inside';
|
|
@@ -327,7 +344,10 @@ function appendBarText(gd, plotinfo, bar, calcTrace, i, x0, x1, y0, y1, opts, ma
|
|
|
327
344
|
if(isOutmostBar) {
|
|
328
345
|
// draw text using insideTextFont and check if it fits inside bar
|
|
329
346
|
textPosition = 'inside';
|
|
330
|
-
|
|
347
|
+
|
|
348
|
+
font = Lib.ensureUniformFontSize(gd, insideTextFont);
|
|
349
|
+
|
|
350
|
+
textSelection = appendTextNode(bar, text, font);
|
|
331
351
|
|
|
332
352
|
textBB = Drawing.bBox(textSelection.node()),
|
|
333
353
|
textWidth = textBB.width,
|
|
@@ -357,9 +377,9 @@ function appendBarText(gd, plotinfo, bar, calcTrace, i, x0, x1, y0, y1, opts, ma
|
|
|
357
377
|
}
|
|
358
378
|
|
|
359
379
|
if(!textSelection) {
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
380
|
+
font = Lib.ensureUniformFontSize(gd, (textPosition === 'outside') ? outsideTextFont : insideTextFont);
|
|
381
|
+
|
|
382
|
+
textSelection = appendTextNode(bar, text, font);
|
|
363
383
|
|
|
364
384
|
var currentTransform = textSelection.attr('transform');
|
|
365
385
|
textSelection.attr('transform', '');
|
|
@@ -374,6 +394,8 @@ function appendBarText(gd, plotinfo, bar, calcTrace, i, x0, x1, y0, y1, opts, ma
|
|
|
374
394
|
}
|
|
375
395
|
}
|
|
376
396
|
|
|
397
|
+
var angle = trace.textangle;
|
|
398
|
+
|
|
377
399
|
// compute text transform
|
|
378
400
|
var transform, constrained;
|
|
379
401
|
if(textPosition === 'outside') {
|
|
@@ -381,42 +403,64 @@ function appendBarText(gd, plotinfo, bar, calcTrace, i, x0, x1, y0, y1, opts, ma
|
|
|
381
403
|
trace.constraintext === 'both' ||
|
|
382
404
|
trace.constraintext === 'outside';
|
|
383
405
|
|
|
384
|
-
transform =
|
|
406
|
+
transform = toMoveOutsideBar(x0, x1, y0, y1, textBB, {
|
|
385
407
|
isHorizontal: isHorizontal,
|
|
386
408
|
constrained: constrained,
|
|
387
|
-
angle:
|
|
388
|
-
})
|
|
409
|
+
angle: angle
|
|
410
|
+
});
|
|
389
411
|
} else {
|
|
390
412
|
constrained =
|
|
391
413
|
trace.constraintext === 'both' ||
|
|
392
414
|
trace.constraintext === 'inside';
|
|
393
415
|
|
|
394
|
-
transform =
|
|
416
|
+
transform = toMoveInsideBar(x0, x1, y0, y1, textBB, {
|
|
395
417
|
isHorizontal: isHorizontal,
|
|
396
418
|
constrained: constrained,
|
|
397
|
-
angle:
|
|
419
|
+
angle: angle,
|
|
398
420
|
anchor: trace.insidetextanchor
|
|
399
|
-
})
|
|
421
|
+
});
|
|
400
422
|
}
|
|
401
423
|
|
|
402
|
-
|
|
424
|
+
transform.fontSize = font.size;
|
|
425
|
+
recordMinTextSize(trace.type, transform, fullLayout);
|
|
426
|
+
calcBar.transform = transform;
|
|
427
|
+
|
|
428
|
+
transition(textSelection, fullLayout, opts, makeOnCompleteCallback)
|
|
429
|
+
.attr('transform', Lib.getTextTransform(transform));
|
|
403
430
|
}
|
|
404
431
|
|
|
405
432
|
function getRotateFromAngle(angle) {
|
|
406
433
|
return (angle === 'auto') ? 0 : angle;
|
|
407
434
|
}
|
|
408
435
|
|
|
436
|
+
function getRotatedTextSize(textBB, rotate) {
|
|
437
|
+
var a = Math.PI / 180 * rotate;
|
|
438
|
+
var absSin = Math.abs(Math.sin(a));
|
|
439
|
+
var absCos = Math.abs(Math.cos(a));
|
|
440
|
+
|
|
441
|
+
return {
|
|
442
|
+
x: textBB.width * absCos + textBB.height * absSin,
|
|
443
|
+
y: textBB.width * absSin + textBB.height * absCos
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
|
|
409
447
|
function toMoveInsideBar(x0, x1, y0, y1, textBB, opts) {
|
|
410
448
|
var isHorizontal = !!opts.isHorizontal;
|
|
411
449
|
var constrained = !!opts.constrained;
|
|
412
450
|
var angle = opts.angle || 0;
|
|
413
|
-
var anchor = opts.anchor ||
|
|
451
|
+
var anchor = opts.anchor || 'end';
|
|
452
|
+
var isEnd = anchor === 'end';
|
|
453
|
+
var isStart = anchor === 'start';
|
|
454
|
+
var leftToRight = opts.leftToRight || 0; // left: -1, center: 0, right: 1
|
|
455
|
+
var toRight = (leftToRight + 1) / 2;
|
|
456
|
+
var toLeft = 1 - toRight;
|
|
414
457
|
|
|
415
458
|
var textWidth = textBB.width;
|
|
416
459
|
var textHeight = textBB.height;
|
|
417
460
|
var lx = Math.abs(x1 - x0);
|
|
418
461
|
var ly = Math.abs(y1 - y0);
|
|
419
462
|
|
|
463
|
+
// compute remaining space
|
|
420
464
|
var textpad = (
|
|
421
465
|
lx > (2 * TEXTPAD) &&
|
|
422
466
|
ly > (2 * TEXTPAD)
|
|
@@ -425,67 +469,70 @@ function toMoveInsideBar(x0, x1, y0, y1, textBB, opts) {
|
|
|
425
469
|
lx -= 2 * textpad;
|
|
426
470
|
ly -= 2 * textpad;
|
|
427
471
|
|
|
428
|
-
var
|
|
429
|
-
|
|
430
|
-
if(autoRotate &&
|
|
472
|
+
var rotate = getRotateFromAngle(angle);
|
|
473
|
+
if((angle === 'auto') &&
|
|
431
474
|
!(textWidth <= lx && textHeight <= ly) &&
|
|
432
475
|
(textWidth > lx || textHeight > ly) && (
|
|
433
476
|
!(textWidth > ly || textHeight > lx) ||
|
|
434
477
|
((textWidth < textHeight) !== (lx < ly))
|
|
435
478
|
)) {
|
|
436
|
-
|
|
479
|
+
rotate += 90;
|
|
437
480
|
}
|
|
438
481
|
|
|
439
|
-
|
|
440
|
-
// don't rotate yet only swap bar width with height
|
|
441
|
-
var tmp = ly;
|
|
442
|
-
ly = lx;
|
|
443
|
-
lx = tmp;
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
var rotate = getRotateFromAngle(angle);
|
|
447
|
-
var absSin = Math.abs(Math.sin(Math.PI / 180 * rotate));
|
|
448
|
-
var absCos = Math.abs(Math.cos(Math.PI / 180 * rotate));
|
|
482
|
+
var t = getRotatedTextSize(textBB, rotate);
|
|
449
483
|
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
scale = Math.min(1, scale);
|
|
484
|
+
var scale = 1;
|
|
485
|
+
if(constrained) {
|
|
486
|
+
scale = Math.min(
|
|
487
|
+
1,
|
|
488
|
+
lx / t.x,
|
|
489
|
+
ly / t.y
|
|
490
|
+
);
|
|
491
|
+
}
|
|
459
492
|
|
|
460
493
|
// compute text and target positions
|
|
461
|
-
var
|
|
494
|
+
var textX = (
|
|
495
|
+
textBB.left * toLeft +
|
|
496
|
+
textBB.right * toRight
|
|
497
|
+
);
|
|
498
|
+
var textY = (textBB.top + textBB.bottom) / 2;
|
|
499
|
+
var targetX = (
|
|
500
|
+
(x0 + TEXTPAD) * toLeft +
|
|
501
|
+
(x1 - TEXTPAD) * toRight
|
|
502
|
+
);
|
|
462
503
|
var targetY = (y0 + y1) / 2;
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
var
|
|
467
|
-
|
|
504
|
+
var anchorX = 0;
|
|
505
|
+
var anchorY = 0;
|
|
506
|
+
if(isStart || isEnd) {
|
|
507
|
+
var extrapad = (isHorizontal ? t.x : t.y) / 2;
|
|
508
|
+
var dir = isHorizontal ? dirSign(x0, x1) : dirSign(y0, y1);
|
|
468
509
|
|
|
469
510
|
if(isHorizontal) {
|
|
470
|
-
|
|
471
|
-
|
|
511
|
+
if(isStart) {
|
|
512
|
+
targetX = x0 + dir * textpad;
|
|
513
|
+
anchorX = -dir * extrapad;
|
|
514
|
+
} else {
|
|
515
|
+
targetX = x1 - dir * textpad;
|
|
516
|
+
anchorX = dir * extrapad;
|
|
517
|
+
}
|
|
472
518
|
} else {
|
|
473
|
-
|
|
474
|
-
|
|
519
|
+
if(isStart) {
|
|
520
|
+
targetY = y0 + dir * textpad;
|
|
521
|
+
anchorY = -dir * extrapad;
|
|
522
|
+
} else {
|
|
523
|
+
targetY = y1 - dir * textpad;
|
|
524
|
+
anchorY = dir * extrapad;
|
|
525
|
+
}
|
|
475
526
|
}
|
|
476
527
|
}
|
|
477
528
|
|
|
478
|
-
var textX = (textBB.left + textBB.right) / 2;
|
|
479
|
-
var textY = (textBB.top + textBB.bottom) / 2;
|
|
480
|
-
|
|
481
|
-
// lastly apply auto rotation
|
|
482
|
-
if(isAutoRotated) rotate += 90;
|
|
483
|
-
|
|
484
529
|
return {
|
|
485
530
|
textX: textX,
|
|
486
531
|
textY: textY,
|
|
487
532
|
targetX: targetX,
|
|
488
533
|
targetY: targetY,
|
|
534
|
+
anchorX: anchorX,
|
|
535
|
+
anchorY: anchorY,
|
|
489
536
|
scale: scale,
|
|
490
537
|
rotate: rotate
|
|
491
538
|
};
|
|
@@ -519,45 +566,47 @@ function toMoveOutsideBar(x0, x1, y0, y1, textBB, opts) {
|
|
|
519
566
|
}
|
|
520
567
|
|
|
521
568
|
var rotate = getRotateFromAngle(angle);
|
|
522
|
-
var
|
|
523
|
-
var absCos = Math.abs(Math.cos(Math.PI / 180 * rotate));
|
|
569
|
+
var t = getRotatedTextSize(textBB, rotate);
|
|
524
570
|
|
|
525
571
|
// compute text and target positions
|
|
526
|
-
var
|
|
527
|
-
var
|
|
528
|
-
|
|
529
|
-
|
|
572
|
+
var extrapad = (isHorizontal ? t.x : t.y) / 2;
|
|
573
|
+
var textX = (textBB.left + textBB.right) / 2;
|
|
574
|
+
var textY = (textBB.top + textBB.bottom) / 2;
|
|
530
575
|
var targetX = (x0 + x1) / 2;
|
|
531
576
|
var targetY = (y0 + y1) / 2;
|
|
577
|
+
var anchorX = 0;
|
|
578
|
+
var anchorY = 0;
|
|
532
579
|
|
|
580
|
+
var dir = isHorizontal ? dirSign(x1, x0) : dirSign(y0, y1);
|
|
533
581
|
if(isHorizontal) {
|
|
534
|
-
targetX = x1 -
|
|
582
|
+
targetX = x1 - dir * textpad;
|
|
583
|
+
anchorX = dir * extrapad;
|
|
535
584
|
} else {
|
|
536
|
-
targetY = y1 +
|
|
585
|
+
targetY = y1 + dir * textpad;
|
|
586
|
+
anchorY = -dir * extrapad;
|
|
537
587
|
}
|
|
538
588
|
|
|
539
|
-
var textX = (textBB.left + textBB.right) / 2;
|
|
540
|
-
var textY = (textBB.top + textBB.bottom) / 2;
|
|
541
|
-
|
|
542
589
|
return {
|
|
543
590
|
textX: textX,
|
|
544
591
|
textY: textY,
|
|
545
592
|
targetX: targetX,
|
|
546
593
|
targetY: targetY,
|
|
594
|
+
anchorX: anchorX,
|
|
595
|
+
anchorY: anchorY,
|
|
547
596
|
scale: scale,
|
|
548
597
|
rotate: rotate
|
|
549
598
|
};
|
|
550
599
|
}
|
|
551
600
|
|
|
552
|
-
function getText(fullLayout,
|
|
553
|
-
var trace =
|
|
601
|
+
function getText(fullLayout, cd, index, xa, ya) {
|
|
602
|
+
var trace = cd[0].trace;
|
|
554
603
|
var texttemplate = trace.texttemplate;
|
|
555
604
|
|
|
556
605
|
var value;
|
|
557
606
|
if(texttemplate) {
|
|
558
|
-
value = calcTexttemplate(fullLayout,
|
|
607
|
+
value = calcTexttemplate(fullLayout, cd, index, xa, ya);
|
|
559
608
|
} else if(trace.textinfo) {
|
|
560
|
-
value = calcTextinfo(
|
|
609
|
+
value = calcTextinfo(cd, index, xa, ya);
|
|
561
610
|
} else {
|
|
562
611
|
value = helpers.getValue(trace.text, index);
|
|
563
612
|
}
|
|
@@ -570,8 +619,8 @@ function getTextPosition(trace, index) {
|
|
|
570
619
|
return helpers.coerceEnumerated(attributeTextPosition, value);
|
|
571
620
|
}
|
|
572
621
|
|
|
573
|
-
function calcTexttemplate(fullLayout,
|
|
574
|
-
var trace =
|
|
622
|
+
function calcTexttemplate(fullLayout, cd, index, xa, ya) {
|
|
623
|
+
var trace = cd[0].trace;
|
|
575
624
|
var texttemplate = Lib.castOption(trace, index, 'texttemplate');
|
|
576
625
|
if(!texttemplate) return '';
|
|
577
626
|
var isWaterfall = (trace.type === 'waterfall');
|
|
@@ -599,7 +648,7 @@ function calcTexttemplate(fullLayout, calcTrace, index, xa, ya) {
|
|
|
599
648
|
return tickText(vAxis, +v, true).text;
|
|
600
649
|
}
|
|
601
650
|
|
|
602
|
-
var cdi =
|
|
651
|
+
var cdi = cd[index];
|
|
603
652
|
var obj = {};
|
|
604
653
|
|
|
605
654
|
obj.label = cdi.p;
|
|
@@ -640,8 +689,8 @@ function calcTexttemplate(fullLayout, calcTrace, index, xa, ya) {
|
|
|
640
689
|
return Lib.texttemplateString(texttemplate, obj, fullLayout._d3locale, pt, obj, trace._meta || {});
|
|
641
690
|
}
|
|
642
691
|
|
|
643
|
-
function calcTextinfo(
|
|
644
|
-
var trace =
|
|
692
|
+
function calcTextinfo(cd, index, xa, ya) {
|
|
693
|
+
var trace = cd[0].trace;
|
|
645
694
|
var isHorizontal = (trace.orientation === 'h');
|
|
646
695
|
var isWaterfall = (trace.type === 'waterfall');
|
|
647
696
|
var isFunnel = (trace.type === 'funnel');
|
|
@@ -657,7 +706,7 @@ function calcTextinfo(calcTrace, index, xa, ya) {
|
|
|
657
706
|
}
|
|
658
707
|
|
|
659
708
|
var textinfo = trace.textinfo;
|
|
660
|
-
var cdi =
|
|
709
|
+
var cdi = cd[index];
|
|
661
710
|
|
|
662
711
|
var parts = textinfo.split('+');
|
|
663
712
|
var text = [];
|
|
@@ -666,7 +715,7 @@ function calcTextinfo(calcTrace, index, xa, ya) {
|
|
|
666
715
|
var hasFlag = function(flag) { return parts.indexOf(flag) !== -1; };
|
|
667
716
|
|
|
668
717
|
if(hasFlag('label')) {
|
|
669
|
-
text.push(formatLabel(
|
|
718
|
+
text.push(formatLabel(cd[index].p));
|
|
670
719
|
}
|
|
671
720
|
|
|
672
721
|
if(hasFlag('text')) {
|
|
@@ -716,6 +765,5 @@ function calcTextinfo(calcTrace, index, xa, ya) {
|
|
|
716
765
|
|
|
717
766
|
module.exports = {
|
|
718
767
|
plot: plot,
|
|
719
|
-
toMoveInsideBar: toMoveInsideBar
|
|
720
|
-
toMoveOutsideBar: toMoveOutsideBar
|
|
768
|
+
toMoveInsideBar: toMoveInsideBar
|
|
721
769
|
};
|
package/src/traces/bar/select.js
CHANGED
package/src/traces/bar/sieve.js
CHANGED
package/src/traces/bar/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
|
|
@@ -14,6 +14,7 @@ var Drawing = require('../../components/drawing');
|
|
|
14
14
|
var Lib = require('../../lib');
|
|
15
15
|
var Registry = require('../../registry');
|
|
16
16
|
|
|
17
|
+
var resizeText = require('./uniform_text').resizeText;
|
|
17
18
|
var attributes = require('./attributes');
|
|
18
19
|
var attributeTextFont = attributes.textfont;
|
|
19
20
|
var attributeInsideTextFont = attributes.insidetextfont;
|
|
@@ -22,6 +23,8 @@ var helpers = require('./helpers');
|
|
|
22
23
|
|
|
23
24
|
function style(gd) {
|
|
24
25
|
var s = d3.select(gd).selectAll('g.barlayer').selectAll('g.trace');
|
|
26
|
+
resizeText(gd, s, 'bar');
|
|
27
|
+
|
|
25
28
|
var barcount = s.size();
|
|
26
29
|
var fullLayout = gd._fullLayout;
|
|
27
30
|
|
|
@@ -57,7 +60,8 @@ function stylePoints(sel, trace, gd) {
|
|
|
57
60
|
function styleTextPoints(sel, trace, gd) {
|
|
58
61
|
sel.selectAll('text').each(function(d) {
|
|
59
62
|
var tx = d3.select(this);
|
|
60
|
-
var font = determineFont(tx, d, trace, gd);
|
|
63
|
+
var font = Lib.ensureUniformFontSize(gd, determineFont(tx, d, trace, gd));
|
|
64
|
+
|
|
61
65
|
Drawing.font(tx, font);
|
|
62
66
|
});
|
|
63
67
|
}
|
|
@@ -84,7 +88,7 @@ function styleTextInSelectionMode(txs, trace, gd) {
|
|
|
84
88
|
var font;
|
|
85
89
|
|
|
86
90
|
if(d.selected) {
|
|
87
|
-
font = Lib.
|
|
91
|
+
font = Lib.ensureUniformFontSize(gd, determineFont(tx, d, trace, gd));
|
|
88
92
|
|
|
89
93
|
var selectedFontColor = trace.selected.textfont && trace.selected.textfont.color;
|
|
90
94
|
if(selectedFontColor) {
|
|
@@ -171,5 +175,6 @@ module.exports = {
|
|
|
171
175
|
styleOnSelect: styleOnSelect,
|
|
172
176
|
getInsideTextFont: getInsideTextFont,
|
|
173
177
|
getOutsideTextFont: getOutsideTextFont,
|
|
174
|
-
getBarColor: getBarColor
|
|
178
|
+
getBarColor: getBarColor,
|
|
179
|
+
resizeText: resizeText
|
|
175
180
|
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2012-2020, Plotly, Inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
var d3 = require('d3');
|
|
12
|
+
var Lib = require('../../lib');
|
|
13
|
+
|
|
14
|
+
function resizeText(gd, gTrace, traceType) {
|
|
15
|
+
var fullLayout = gd._fullLayout;
|
|
16
|
+
var minSize = fullLayout['_' + traceType + 'Text_minsize'];
|
|
17
|
+
if(minSize) {
|
|
18
|
+
var shouldHide = fullLayout.uniformtext.mode === 'hide';
|
|
19
|
+
|
|
20
|
+
var selector;
|
|
21
|
+
switch(traceType) {
|
|
22
|
+
case 'funnelarea' :
|
|
23
|
+
case 'pie' :
|
|
24
|
+
case 'sunburst' :
|
|
25
|
+
selector = 'g.slice';
|
|
26
|
+
break;
|
|
27
|
+
case 'treemap' :
|
|
28
|
+
selector = 'g.slice, g.pathbar';
|
|
29
|
+
break;
|
|
30
|
+
default :
|
|
31
|
+
selector = 'g.points > g.point';
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
gTrace.selectAll(selector).each(function(d) {
|
|
35
|
+
var transform = d.transform;
|
|
36
|
+
if(transform) {
|
|
37
|
+
transform.scale = (shouldHide && transform.hide) ? 0 : minSize / transform.fontSize;
|
|
38
|
+
|
|
39
|
+
var el = d3.select(this).select('text');
|
|
40
|
+
el.attr('transform', Lib.getTextTransform(transform));
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function recordMinTextSize(
|
|
47
|
+
traceType, // in
|
|
48
|
+
transform, // inout
|
|
49
|
+
fullLayout // inout
|
|
50
|
+
) {
|
|
51
|
+
if(fullLayout.uniformtext.mode) {
|
|
52
|
+
var minKey = getMinKey(traceType);
|
|
53
|
+
var minSize = fullLayout.uniformtext.minsize;
|
|
54
|
+
var size = transform.scale * transform.fontSize;
|
|
55
|
+
|
|
56
|
+
transform.hide = size < minSize;
|
|
57
|
+
|
|
58
|
+
fullLayout[minKey] = fullLayout[minKey] || Infinity;
|
|
59
|
+
if(!transform.hide) {
|
|
60
|
+
fullLayout[minKey] = Math.min(
|
|
61
|
+
fullLayout[minKey],
|
|
62
|
+
Math.max(size, minSize)
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function clearMinTextSize(
|
|
69
|
+
traceType, // in
|
|
70
|
+
fullLayout // inout
|
|
71
|
+
) {
|
|
72
|
+
var minKey = getMinKey(traceType);
|
|
73
|
+
fullLayout[minKey] = undefined;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function getMinKey(traceType) {
|
|
77
|
+
return '_' + traceType + 'Text_minsize';
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
module.exports = {
|
|
81
|
+
recordMinTextSize: recordMinTextSize,
|
|
82
|
+
clearMinTextSize: clearMinTextSize,
|
|
83
|
+
resizeText: resizeText
|
|
84
|
+
};
|