├── lib ├── .eslintrc ├── core.js ├── bar.js ├── box.js ├── ohlc.js ├── pie.js ├── mesh3d.js ├── contour.js ├── contourgl.js ├── filter.js ├── groupby.js ├── heatmap.js ├── heatmapgl.js ├── histogram.js ├── parcoords.js ├── scatter.js ├── scatter3d.js ├── scattergl.js ├── surface.js ├── calendars.js ├── candlestick.js ├── choropleth.js ├── histogram2d.js ├── pointcloud.js ├── scattergeo.js ├── scattermapbox.js ├── scatterternary.js ├── histogram2dcontour.js ├── index-mapbox.js ├── index-basic.js ├── index-geo.js ├── index-gl3d.js ├── index-finance.js ├── index-gl2d.js └── index-cartesian.js ├── test ├── image │ ├── .eslintrc │ ├── mocks │ │ ├── empty.json │ │ ├── hist_category.json │ │ ├── hist_003_to_093.json │ │ ├── hist_003_to_1.json │ │ ├── hist_0_to_093.json │ │ ├── hist_0_to_1_midpoints.json │ │ ├── hist_grouped.json │ │ ├── gl3d_delaunay.json │ │ ├── hist_stacked.json │ │ ├── basic_bar.json │ │ ├── pie_simple.json │ │ ├── gl3d_triangle.json │ │ ├── hist_all_integer.json │ │ ├── bar_nonnumeric_sizes.json │ │ ├── axes_free_default.json │ │ ├── axes_reversed.json │ │ ├── hist_almost_integer.json │ │ ├── hist_all_integer_n50.json │ │ ├── pie_label0_dlabel.json │ │ ├── box_plot_jitter.json │ │ ├── error_bar_sqrt.json │ │ ├── scatter_fill_self_opacity.json │ │ ├── tick_prefix_suffix_exponent.json │ │ ├── axislabel_separatethousands.json │ │ ├── basic_heatmap.json │ │ ├── percent_error_bar.json │ │ ├── error_bar_horizontal.json │ │ ├── category_dtick_3.json │ │ ├── axes_category_ascending.json │ │ ├── heatmap_brick_padding.json │ │ ├── basic_error_bar.json │ │ ├── gl3d_marker-color.json │ │ ├── axes_category_categoryarray_truncated_tails.json │ │ ├── bar_and_histogram.json │ │ ├── error_bar_asymmetric_constant.json │ │ ├── bubble_markersize0.json │ │ ├── heatmap_autocolor_negative.json │ │ ├── heatmap_autocolor_positive.json │ │ ├── geo_first.json │ │ ├── axes_range_mode.json │ │ ├── bar_stackto1.json │ │ ├── basic_line.json │ │ ├── gl2d_connect_gaps.json │ │ ├── gl3d_tet_colorscale.json │ │ ├── basic_area.json │ │ ├── gl3d_log-axis.json │ │ ├── hist_summed.json │ │ ├── colorbar_tick_prefix_suffix.json │ │ ├── contour_lines_coloring.json │ │ ├── box_with-empty-1st-trace.json │ │ ├── histogram_colorscale.json │ │ ├── show_legend.json │ │ ├── contour_heatmap_coloring.json │ │ ├── global_font.json │ │ ├── colorbar_tickformat.json │ │ ├── error_bar_asymmetric_array.json │ │ ├── bar_group_percent.json │ │ ├── tickformat.json │ │ ├── contour_nolines.json │ │ ├── gl2d_axes_range_mode.json │ │ ├── gl2d_parcoords_1.json │ │ ├── gl3d_log-axis-big.json │ │ ├── pie_style.json │ │ ├── bar_attrs_group_norm.json │ │ ├── tick_prefix_suffix.json │ │ ├── bar_line.json │ │ ├── pseudo_html.json │ │ ├── gl3d_tet.json │ │ ├── scatter_fill_self_next.json │ │ ├── gl3d_multi-scene.json │ │ ├── size_margins.json │ │ ├── labelled_heatmap.json │ │ └── bar_bargap0.json │ ├── baselines │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 13.png │ │ ├── 14.png │ │ ├── 15.png │ │ ├── 16.png │ │ ├── 17.png │ │ ├── 18.png │ │ ├── 19.png │ │ ├── 20.png │ │ ├── 21.png │ │ ├── 22.png │ │ ├── 23.png │ │ ├── 24.png │ │ ├── 25.png │ │ ├── 26.png │ │ ├── 27.png │ │ ├── 28.png │ │ ├── 29.png │ │ ├── 30.png │ │ ├── 31.png │ │ ├── 32.png │ │ ├── empty.png │ │ ├── fonts.png │ │ ├── shapes.png │ │ ├── bar_line.png │ │ ├── binding.png │ │ ├── chinese.png │ │ ├── geo_fill.png │ │ ├── gl2d_10.png │ │ ├── gl2d_12.png │ │ ├── gl2d_14.png │ │ ├── gl2d_17.png │ │ ├── gl3d_tet.png │ │ ├── japanese.png │ │ ├── mapbox_0.png │ │ ├── sliders.png │ │ ├── violins.png │ │ ├── animation.png │ │ ├── annotations.png │ │ ├── axes-ticks.png │ │ ├── axes_labels.png │ │ ├── axes_lines.png │ │ ├── bar_bargap0.png │ │ ├── basic_area.png │ │ ├── basic_bar.png │ │ ├── basic_line.png │ │ ├── benchmarks.png │ │ ├── box_grouped.png │ │ ├── bubblechart.png │ │ ├── date_axes.png │ │ ├── dendrogram.png │ │ ├── geo_first.png │ │ ├── geo_second.png │ │ ├── gl2d_fonts.png │ │ ├── gl3d_bunny.png │ │ ├── gl3d_cube.png │ │ ├── global_font.png │ │ ├── grouped_bar.png │ │ ├── hist_summed.png │ │ ├── hot_heatmap.png │ │ ├── jet_heatmap.png │ │ ├── legendgroup.png │ │ ├── line_style.png │ │ ├── mapbox_fill.png │ │ ├── ohlc_first.png │ │ ├── pie_fonts.png │ │ ├── pie_simple.png │ │ ├── pie_style.png │ │ ├── plot_types.png │ │ ├── polar_line.png │ │ ├── pseudo_html.png │ │ ├── show_legend.png │ │ ├── simple-3d.png │ │ ├── stacked_bar.png │ │ ├── style_bar.png │ │ ├── text_export.png │ │ ├── tick-datafn.png │ │ ├── tickformat.png │ │ ├── ultra_zoom.png │ │ ├── updatemenus.png │ │ ├── world-cals.png │ │ ├── axes_booleans.png │ │ ├── axes_reversed.png │ │ ├── bar_stackto1.png │ │ ├── basic_heatmap.png │ │ ├── earth_heatmap.png │ │ ├── error_bar_bar.png │ │ ├── finance_style.png │ │ ├── font-wishlist.png │ │ ├── geo_bg-color.png │ │ ├── geo_big-frame.png │ │ ├── gl3d_delaunay.png │ │ ├── gl3d_ibm-plot.png │ │ ├── gl3d_log-axis.png │ │ ├── gl3d_ribbons.png │ │ ├── gl3d_snowden.png │ │ ├── gl3d_triangle.png │ │ ├── gl3d_z-range.png │ │ ├── greys_heatmap.png │ │ ├── hist2d_summed.png │ │ ├── hist_003_to_1.png │ │ ├── hist_0_to_093.png │ │ ├── hist_category.png │ │ ├── hist_grouped.png │ │ ├── hist_stacked.png │ │ ├── layout_image.png │ │ ├── legend_inside.png │ │ ├── legend_labels.png │ │ ├── legend_scroll.png │ │ ├── legend_style.png │ │ ├── line_scatter.png │ │ ├── mapbox_angles.png │ │ ├── mapbox_layers.png │ │ ├── polar_scatter.png │ │ ├── range_slider.png │ │ ├── rdbu_heatmap.png │ │ ├── simple_inset.png │ │ ├── size_margins.png │ │ ├── styling_names.png │ │ ├── ternary_fill.png │ │ ├── ternary_lines.png │ │ ├── axes_range_mode.png │ │ ├── axes_range_type.png │ │ ├── axes_scaleanchor.png │ │ ├── bar_attrs_group.png │ │ ├── bar_marker_array.png │ │ ├── basic_error_bar.png │ │ ├── bluered_heatmap.png │ │ ├── box_grouped_horz.png │ │ ├── box_plot_jitter.png │ │ ├── category_dtick_3.png │ │ ├── connectgaps_2d.png │ │ ├── contour_nolines.png │ │ ├── contour_scatter.png │ │ ├── date_histogram.png │ │ ├── electric_heatmap.png │ │ ├── error_bar_layers.png │ │ ├── error_bar_sqrt.png │ │ ├── error_bar_style.png │ │ ├── geo_connectgaps.png │ │ ├── geo_kavrayskiy7.png │ │ ├── geo_legendonly.png │ │ ├── geo_multi-geos.png │ │ ├── geo_orthographic.png │ │ ├── geo_usa-states.png │ │ ├── gl2d_annotations.png │ │ ├── gl2d_axes_labels.png │ │ ├── gl2d_axes_lines.png │ │ ├── gl2d_date_axes.png │ │ ├── gl2d_error_bars.png │ │ ├── gl2d_heatmapgl.png │ │ ├── gl2d_parcoords.png │ │ ├── gl2d_parcoords_1.png │ │ ├── gl2d_parcoords_2.png │ │ ├── gl3d_bunny-hull.png │ │ ├── gl3d_convex-hull.png │ │ ├── gl3d_cufflinks.png │ │ ├── gl3d_multi-scene.png │ │ ├── gl3d_nan-holes.png │ │ ├── gl3d_world-cals.png │ │ ├── greens_heatmap.png │ │ ├── hist_003_to_093.png │ │ ├── hist_all_integer.png │ │ ├── hist_cum_stacked.png │ │ ├── hist_valid_ses.png │ │ ├── hist_valid_ses_y.png │ │ ├── labelled_heatmap.png │ │ ├── legend_outside.png │ │ ├── line_grid_color.png │ │ ├── line_grid_width.png │ │ ├── mapbox_bubbles.png │ │ ├── picnic_heatmap.png │ │ ├── pie_style_arrays.png │ │ ├── polar_area_chart.png │ │ ├── portland_heatmap.png │ │ ├── range_selector.png │ │ ├── range_slider_box.png │ │ ├── simple_contour.png │ │ ├── simple_subplot.png │ │ ├── stacked_subplots.png │ │ ├── ternary_markers.png │ │ ├── ternary_multiple.png │ │ ├── ternary_simple.png │ │ ├── text_chart_basic.png │ │ ├── tick_attributes.png │ │ ├── viridis_heatmap.png │ │ ├── yignbu_heatmap.png │ │ ├── yiorrd_heatmap.png │ │ ├── zsmooth_methods.png │ │ ├── axes_category_null.png │ │ ├── axes_free_default.png │ │ ├── axes_range_manual.png │ │ ├── bar_and_histogram.png │ │ ├── bar_attrs_overlay.png │ │ ├── bar_attrs_relative.png │ │ ├── bar_group_percent.png │ │ ├── blackbody_heatmap.png │ │ ├── bubble_markersize0.png │ │ ├── colorscale_opacity.png │ │ ├── contour_edge_cases.png │ │ ├── contour_transposed.png │ │ ├── contour_valid_ses.png │ │ ├── custom_colorscale.png │ │ ├── geo_africa-insets.png │ │ ├── geo_canadian-cites.png │ │ ├── geo_choropleth-usa.png │ │ ├── geo_country-names.png │ │ ├── geo_europe-bubbles.png │ │ ├── geo_stereographic.png │ │ ├── geo_winkel-tripel.png │ │ ├── gl2d_axes_booleans.png │ │ ├── gl2d_connect_gaps.png │ │ ├── gl2d_simple_inset.png │ │ ├── gl2d_size_margins.png │ │ ├── gl3d_chrisp-nan-1.png │ │ ├── gl3d_contour-lines.png │ │ ├── gl3d_errorbars_zx.png │ │ ├── gl3d_errorbars_zy.png │ │ ├── gl3d_log-axis-big.png │ │ ├── gl3d_marker-arrays.png │ │ ├── gl3d_marker-color.png │ │ ├── gl3d_mirror-ticks.png │ │ ├── gl3d_wire-surface.png │ │ ├── legend_horizontal.png │ │ ├── legend_negative_y.png │ │ ├── legend_visibility.png │ │ ├── mapbox_connectgaps.png │ │ ├── mapbox_symbol-text.png │ │ ├── multiple_subplots.png │ │ ├── percent_error_bar.png │ │ ├── pie_label0_dlabel.png │ │ ├── pie_sort_direction.png │ │ ├── simple_annotation.png │ │ ├── text_chart_arrays.png │ │ ├── text_chart_styling.png │ │ ├── tick_prefix_suffix.png │ │ ├── annotations-autorange.png │ │ ├── axes-autotype-empty.png │ │ ├── axes_enumerated_ticks.png │ │ ├── bar_attrs_group_norm.png │ │ ├── bar_nonnumeric_sizes.png │ │ ├── bar_stack-with-gaps.png │ │ ├── basic-figure-to-image.png │ │ ├── colorbar_tickformat.png │ │ ├── colorscale_constraint.png │ │ ├── contour_match_edges.png │ │ ├── custom_size_subplot.png │ │ ├── error_bar_horizontal.png │ │ ├── geo_aitoff-sinusoidal.png │ │ ├── geo_bubbles-sizeref.png │ │ ├── geo_choropleth-text.png │ │ ├── geo_conic-conformal.png │ │ ├── geo_custom-colorscale.png │ │ ├── geo_text_chart_arrays.png │ │ ├── gl2d_axes_range_mode.png │ │ ├── gl2d_axes_range_type.png │ │ ├── gl2d_parcoords_blocks.png │ │ ├── gl2d_parcoords_large.png │ │ ├── gl2d_pointcloud-basic.png │ │ ├── gl2d_stacked_subplots.png │ │ ├── gl3d_autocolorscale.png │ │ ├── gl3d_autorange-zero.png │ │ ├── gl3d_errorbars_sqrt.png │ │ ├── gl3d_opacity-surface.png │ │ ├── gl3d_snowden_altered.png │ │ ├── gl3d_surface-lighting.png │ │ ├── gl3d_tet_colorscale.png │ │ ├── gl3d_text-weirdness.png │ │ ├── gl3d_xy-defined-ticks.png │ │ ├── heatmap_brick_padding.png │ │ ├── heatmap_multi-trace.png │ │ ├── hist_0_to_1_midpoints.png │ │ ├── hist_all_integer_n50.png │ │ ├── hist_almost_integer.png │ │ ├── histogram_colorscale.png │ │ ├── legendgroup_bar-stack.png │ │ ├── mapbox_bubbles-text.png │ │ ├── mapbox_custom-style.png │ │ ├── multiple_axes_double.png │ │ ├── range_selector_style.png │ │ ├── range_slider_multiple.png │ │ ├── shapes_below_traces.png │ │ ├── shared_axes_subplots.png │ │ ├── ternary_array_styles.png │ │ ├── titles-avoid-labels.png │ │ ├── axes_category_ascending.png │ │ ├── bar-colorscale-colorbar.png │ │ ├── bar_stackto100_negative.png │ │ ├── boxplots_undefined_vals.png │ │ ├── bubble_nonnumeric-sizes.png │ │ ├── contour_lines_coloring.png │ │ ├── geo_bubbles-colorscales.png │ │ ├── gl2d_axes_range_manual.png │ │ ├── gl2d_multiple_subplots.png │ │ ├── gl3d_projection-traces.png │ │ ├── gl3d_surface_intensity.png │ │ ├── multiple_axes_multiple.png │ │ ├── pie_labels_colors_text.png │ │ ├── scatter_fill_no_opacity.png │ │ ├── scatter_fill_self_next.png │ │ ├── updatemenus_positioning.png │ │ ├── autorange-tozero-rangemode.png │ │ ├── axes_category_descending.png │ │ ├── bar_stackrelative_negative.png │ │ ├── box_plot_jitter_edge_cases.png │ │ ├── box_with-empty-1st-trace.png │ │ ├── boxplots_outliercolordflt.png │ │ ├── candlestick_double-y-axis.png │ │ ├── colorbar_enumerated_ticks.png │ │ ├── contour_heatmap_coloring.png │ │ ├── contour_xyz-gaps-on-sides.png │ │ ├── error_bar_asymmetric_array.png │ │ ├── geo_scattergeo-locations.png │ │ ├── gl3d_scatter-color-array.png │ │ ├── gl3d_scatter3d-colorscale.png │ │ ├── gl3d_scatter3d-connectgaps.png │ │ ├── heatmap_autocolor_negative.png │ │ ├── heatmap_autocolor_positive.png │ │ ├── heatmap_xyz-gaps-on-sides.png │ │ ├── legend_horizontal_autowrap.png │ │ ├── legend_horizontal_groups.png │ │ ├── range_slider_axes_double.png │ │ ├── range_slider_initial_valid.png │ │ ├── scatter_fill_self_opacity.png │ │ ├── stacked_coupled_subplots.png │ │ ├── text_chart_invalid-arrays.png │ │ ├── text_chart_single-string.png │ │ ├── 2dhistogram_contour_subplots.png │ │ ├── axes_category_categoryarray.png │ │ ├── axislabel_separatethousands.png │ │ ├── bar-marker-line-colorscales.png │ │ ├── candlestick_rangeslider_thai.png │ │ ├── colorbar_tick_prefix_suffix.png │ │ ├── contour_transposed-irregular.png │ │ ├── geo_country-names-text-chart.png │ │ ├── geo_multiple-usa-choropleths.png │ │ ├── gl3d_opacity-scaling-spikes.png │ │ ├── pie_scale_textpos_hideslices.png │ │ ├── scatter-colorscale-colorbar.png │ │ ├── tick_prefix_suffix_exponent.png │ │ ├── bar_stackrelativeto100_negative.png │ │ ├── error_bar_asymmetric_constant.png │ │ ├── gl2d_stacked_coupled_subplots.png │ │ ├── gl3d_scatter-colorscale-marker.png │ │ ├── heatmap-reverse-autocolorscale.png │ │ ├── range_slider_initial_expanded.png │ │ ├── scatter-marker-line-colorscales.png │ │ ├── stacked_subplots_shared_yaxis.png │ │ ├── gl2d_scatter-colorscale-colorbar.png │ │ ├── gl3d_scatter-color-line-gradient.png │ │ ├── gl3d_surface-circular-colorscale.png │ │ ├── heatmap_xyz-dates-and-categories.png │ │ ├── axes_category_descending_with_gaps.png │ │ ├── gl2d_scatter-marker-line-colorscales.png │ │ ├── gl3d_scatter-color-mono-and-palette.png │ │ └── axes_category_categoryarray_truncated_tails.png │ └── index.html └── jasmine │ ├── .eslintrc │ ├── assets │ ├── hover.js │ ├── destroy_graph_div.js │ ├── ie9_mock.js │ ├── click.js │ ├── create_graph_div.js │ ├── get_client_position.js │ ├── timed_click.js │ ├── delay.js │ ├── assert_dims.js │ ├── modebar_button.js │ └── get_node_coords.js │ └── bundle_tests │ └── requirejs_test.js ├── tasks ├── .eslintrc ├── watch.js ├── noci_test.sh ├── test_bundle.js ├── baseline.js ├── ci_test.sh ├── test_export.js └── test_image.js ├── src ├── fonts │ ├── ploticon │ │ ├── ploticon.eot │ │ ├── ploticon.ttf │ │ └── ploticon.woff │ └── mathjax_config.js ├── traces │ ├── parcoords │ │ └── shaders │ │ │ └── fragment.glsl │ ├── scatter │ │ ├── constants.js │ │ ├── line_shape_defaults.js │ │ └── text_defaults.js │ ├── heatmap │ │ ├── has_columns.js │ │ ├── max_row_length.js │ │ └── style.js │ ├── choropleth │ │ ├── event_data.js │ │ └── calc.js │ ├── scattermapbox │ │ └── event_data.js │ ├── scattergeo │ │ └── event_data.js │ ├── contour │ │ ├── hover.js │ │ └── end_plus.js │ ├── pie │ │ ├── layout_attributes.js │ │ └── layout_defaults.js │ ├── histogram │ │ └── average.js │ ├── surface │ │ └── calc.js │ └── ohlc │ │ └── direction_defaults.js ├── .eslintrc ├── css │ ├── _mixins.scss │ ├── _drag.scss │ ├── style.scss │ ├── _vars.scss │ └── _cursor.scss ├── components │ ├── modebar │ │ └── index.js │ ├── colorscale │ │ ├── default_scale.js │ │ ├── is_valid_scale.js │ │ └── flip_scale.js │ ├── legend │ │ ├── constants.js │ │ └── index.js │ ├── colorbar │ │ ├── has_colorbar.js │ │ └── index.js │ ├── images │ │ └── index.js │ ├── sliders │ │ └── index.js │ ├── updatemenus │ │ └── index.js │ ├── shapes │ │ ├── index.js │ │ └── defaults.js │ ├── rangeselector │ │ ├── index.js │ │ └── constants.js │ ├── rangeslider │ │ └── index.js │ └── annotations │ │ └── defaults.js ├── lib │ ├── noop.js │ ├── identity.js │ ├── array_to_calc_item.js │ ├── str2rgbarray.js │ ├── mod.js │ ├── is_array.js │ ├── setcursor.js │ └── filter_visible.js ├── plots │ ├── polar │ │ ├── index.js │ │ └── area_attributes.js │ ├── geo │ │ └── zoom_reset.js │ └── ternary │ │ └── layout │ │ └── attributes.js ├── assets │ └── geo_assets.js ├── constants │ ├── gl2d_dashes.js │ ├── gl_markers.js │ ├── gl3d_dashes.js │ ├── interactions.js │ └── xmlns_namespaces.js ├── snapshot │ └── index.js └── plot_api │ └── set_plot_config.js ├── .eslintignore ├── devtools ├── .eslintrc └── image_viewer │ └── index.html ├── dist └── extras │ └── mathjax │ └── images │ ├── CloseX-31.png │ └── MenuArrow-15.png ├── .gitignore ├── .npmignore ├── composer.json ├── bower.json └── circle.yml /lib/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../src/.eslintrc" 3 | } 4 | -------------------------------------------------------------------------------- /test/image/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tasks/.eslintrc" 3 | } 4 | -------------------------------------------------------------------------------- /test/image/mocks/empty.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [], 3 | "layout": {} 4 | } 5 | -------------------------------------------------------------------------------- /tasks/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../.eslintrc", 3 | "env": { 4 | "node": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /test/image/baselines/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/0.png -------------------------------------------------------------------------------- /test/image/baselines/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/1.png -------------------------------------------------------------------------------- /test/image/baselines/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/4.png -------------------------------------------------------------------------------- /test/image/baselines/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/5.png -------------------------------------------------------------------------------- /test/image/baselines/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/6.png -------------------------------------------------------------------------------- /test/image/baselines/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/7.png -------------------------------------------------------------------------------- /test/image/baselines/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/8.png -------------------------------------------------------------------------------- /test/image/baselines/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/10.png -------------------------------------------------------------------------------- /test/image/baselines/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/11.png -------------------------------------------------------------------------------- /test/image/baselines/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/12.png -------------------------------------------------------------------------------- /test/image/baselines/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/13.png -------------------------------------------------------------------------------- /test/image/baselines/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/14.png -------------------------------------------------------------------------------- /test/image/baselines/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/15.png -------------------------------------------------------------------------------- /test/image/baselines/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/16.png -------------------------------------------------------------------------------- /test/image/baselines/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/17.png -------------------------------------------------------------------------------- /test/image/baselines/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/18.png -------------------------------------------------------------------------------- /test/image/baselines/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/19.png -------------------------------------------------------------------------------- /test/image/baselines/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/20.png -------------------------------------------------------------------------------- /test/image/baselines/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/21.png -------------------------------------------------------------------------------- /test/image/baselines/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/22.png -------------------------------------------------------------------------------- /test/image/baselines/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/23.png -------------------------------------------------------------------------------- /test/image/baselines/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/24.png -------------------------------------------------------------------------------- /test/image/baselines/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/25.png -------------------------------------------------------------------------------- /test/image/baselines/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/26.png -------------------------------------------------------------------------------- /test/image/baselines/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/27.png -------------------------------------------------------------------------------- /test/image/baselines/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/28.png -------------------------------------------------------------------------------- /test/image/baselines/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/29.png -------------------------------------------------------------------------------- /test/image/baselines/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/30.png -------------------------------------------------------------------------------- /test/image/baselines/31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/31.png -------------------------------------------------------------------------------- /test/image/baselines/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/32.png -------------------------------------------------------------------------------- /src/fonts/ploticon/ploticon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/src/fonts/ploticon/ploticon.eot -------------------------------------------------------------------------------- /src/fonts/ploticon/ploticon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/src/fonts/ploticon/ploticon.ttf -------------------------------------------------------------------------------- /test/image/baselines/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/empty.png -------------------------------------------------------------------------------- /test/image/baselines/fonts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/fonts.png -------------------------------------------------------------------------------- /test/image/baselines/shapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/shapes.png -------------------------------------------------------------------------------- /src/fonts/ploticon/ploticon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/src/fonts/ploticon/ploticon.woff -------------------------------------------------------------------------------- /test/image/baselines/bar_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_line.png -------------------------------------------------------------------------------- /test/image/baselines/binding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/binding.png -------------------------------------------------------------------------------- /test/image/baselines/chinese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/chinese.png -------------------------------------------------------------------------------- /test/image/baselines/geo_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_fill.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_10.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_12.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_14.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_17.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_tet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_tet.png -------------------------------------------------------------------------------- /test/image/baselines/japanese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/japanese.png -------------------------------------------------------------------------------- /test/image/baselines/mapbox_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/mapbox_0.png -------------------------------------------------------------------------------- /test/image/baselines/sliders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/sliders.png -------------------------------------------------------------------------------- /test/image/baselines/violins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/violins.png -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | build 4 | 5 | test/jasmine/assets/jquery-1.8.3.min.js 6 | src/plots/polar/micropolar.js 7 | -------------------------------------------------------------------------------- /devtools/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../.eslintrc", 3 | "env": { 4 | "node": true, 5 | "browser": true 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/image/baselines/animation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/animation.png -------------------------------------------------------------------------------- /test/image/baselines/annotations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/annotations.png -------------------------------------------------------------------------------- /test/image/baselines/axes-ticks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes-ticks.png -------------------------------------------------------------------------------- /test/image/baselines/axes_labels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_labels.png -------------------------------------------------------------------------------- /test/image/baselines/axes_lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_lines.png -------------------------------------------------------------------------------- /test/image/baselines/bar_bargap0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_bargap0.png -------------------------------------------------------------------------------- /test/image/baselines/basic_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/basic_area.png -------------------------------------------------------------------------------- /test/image/baselines/basic_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/basic_bar.png -------------------------------------------------------------------------------- /test/image/baselines/basic_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/basic_line.png -------------------------------------------------------------------------------- /test/image/baselines/benchmarks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/benchmarks.png -------------------------------------------------------------------------------- /test/image/baselines/box_grouped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/box_grouped.png -------------------------------------------------------------------------------- /test/image/baselines/bubblechart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bubblechart.png -------------------------------------------------------------------------------- /test/image/baselines/date_axes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/date_axes.png -------------------------------------------------------------------------------- /test/image/baselines/dendrogram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/dendrogram.png -------------------------------------------------------------------------------- /test/image/baselines/geo_first.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_first.png -------------------------------------------------------------------------------- /test/image/baselines/geo_second.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_second.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_fonts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_fonts.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_bunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_bunny.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_cube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_cube.png -------------------------------------------------------------------------------- /test/image/baselines/global_font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/global_font.png -------------------------------------------------------------------------------- /test/image/baselines/grouped_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/grouped_bar.png -------------------------------------------------------------------------------- /test/image/baselines/hist_summed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_summed.png -------------------------------------------------------------------------------- /test/image/baselines/hot_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hot_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/jet_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/jet_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/legendgroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legendgroup.png -------------------------------------------------------------------------------- /test/image/baselines/line_style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/line_style.png -------------------------------------------------------------------------------- /test/image/baselines/mapbox_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/mapbox_fill.png -------------------------------------------------------------------------------- /test/image/baselines/ohlc_first.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/ohlc_first.png -------------------------------------------------------------------------------- /test/image/baselines/pie_fonts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/pie_fonts.png -------------------------------------------------------------------------------- /test/image/baselines/pie_simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/pie_simple.png -------------------------------------------------------------------------------- /test/image/baselines/pie_style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/pie_style.png -------------------------------------------------------------------------------- /test/image/baselines/plot_types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/plot_types.png -------------------------------------------------------------------------------- /test/image/baselines/polar_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/polar_line.png -------------------------------------------------------------------------------- /test/image/baselines/pseudo_html.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/pseudo_html.png -------------------------------------------------------------------------------- /test/image/baselines/show_legend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/show_legend.png -------------------------------------------------------------------------------- /test/image/baselines/simple-3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/simple-3d.png -------------------------------------------------------------------------------- /test/image/baselines/stacked_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/stacked_bar.png -------------------------------------------------------------------------------- /test/image/baselines/style_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/style_bar.png -------------------------------------------------------------------------------- /test/image/baselines/text_export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/text_export.png -------------------------------------------------------------------------------- /test/image/baselines/tick-datafn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/tick-datafn.png -------------------------------------------------------------------------------- /test/image/baselines/tickformat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/tickformat.png -------------------------------------------------------------------------------- /test/image/baselines/ultra_zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/ultra_zoom.png -------------------------------------------------------------------------------- /test/image/baselines/updatemenus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/updatemenus.png -------------------------------------------------------------------------------- /test/image/baselines/world-cals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/world-cals.png -------------------------------------------------------------------------------- /test/image/baselines/axes_booleans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_booleans.png -------------------------------------------------------------------------------- /test/image/baselines/axes_reversed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_reversed.png -------------------------------------------------------------------------------- /test/image/baselines/bar_stackto1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_stackto1.png -------------------------------------------------------------------------------- /test/image/baselines/basic_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/basic_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/earth_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/earth_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/error_bar_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/error_bar_bar.png -------------------------------------------------------------------------------- /test/image/baselines/finance_style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/finance_style.png -------------------------------------------------------------------------------- /test/image/baselines/font-wishlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/font-wishlist.png -------------------------------------------------------------------------------- /test/image/baselines/geo_bg-color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_bg-color.png -------------------------------------------------------------------------------- /test/image/baselines/geo_big-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_big-frame.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_delaunay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_delaunay.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_ibm-plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_ibm-plot.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_log-axis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_log-axis.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_ribbons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_ribbons.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_snowden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_snowden.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_triangle.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_z-range.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_z-range.png -------------------------------------------------------------------------------- /test/image/baselines/greys_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/greys_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/hist2d_summed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist2d_summed.png -------------------------------------------------------------------------------- /test/image/baselines/hist_003_to_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_003_to_1.png -------------------------------------------------------------------------------- /test/image/baselines/hist_0_to_093.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_0_to_093.png -------------------------------------------------------------------------------- /test/image/baselines/hist_category.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_category.png -------------------------------------------------------------------------------- /test/image/baselines/hist_grouped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_grouped.png -------------------------------------------------------------------------------- /test/image/baselines/hist_stacked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_stacked.png -------------------------------------------------------------------------------- /test/image/baselines/layout_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/layout_image.png -------------------------------------------------------------------------------- /test/image/baselines/legend_inside.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legend_inside.png -------------------------------------------------------------------------------- /test/image/baselines/legend_labels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legend_labels.png -------------------------------------------------------------------------------- /test/image/baselines/legend_scroll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legend_scroll.png -------------------------------------------------------------------------------- /test/image/baselines/legend_style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legend_style.png -------------------------------------------------------------------------------- /test/image/baselines/line_scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/line_scatter.png -------------------------------------------------------------------------------- /test/image/baselines/mapbox_angles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/mapbox_angles.png -------------------------------------------------------------------------------- /test/image/baselines/mapbox_layers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/mapbox_layers.png -------------------------------------------------------------------------------- /test/image/baselines/polar_scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/polar_scatter.png -------------------------------------------------------------------------------- /test/image/baselines/range_slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/range_slider.png -------------------------------------------------------------------------------- /test/image/baselines/rdbu_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/rdbu_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/simple_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/simple_inset.png -------------------------------------------------------------------------------- /test/image/baselines/size_margins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/size_margins.png -------------------------------------------------------------------------------- /test/image/baselines/styling_names.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/styling_names.png -------------------------------------------------------------------------------- /test/image/baselines/ternary_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/ternary_fill.png -------------------------------------------------------------------------------- /test/image/baselines/ternary_lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/ternary_lines.png -------------------------------------------------------------------------------- /dist/extras/mathjax/images/CloseX-31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/dist/extras/mathjax/images/CloseX-31.png -------------------------------------------------------------------------------- /test/image/baselines/axes_range_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_range_mode.png -------------------------------------------------------------------------------- /test/image/baselines/axes_range_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_range_type.png -------------------------------------------------------------------------------- /test/image/baselines/axes_scaleanchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_scaleanchor.png -------------------------------------------------------------------------------- /test/image/baselines/bar_attrs_group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_attrs_group.png -------------------------------------------------------------------------------- /test/image/baselines/bar_marker_array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_marker_array.png -------------------------------------------------------------------------------- /test/image/baselines/basic_error_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/basic_error_bar.png -------------------------------------------------------------------------------- /test/image/baselines/bluered_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bluered_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/box_grouped_horz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/box_grouped_horz.png -------------------------------------------------------------------------------- /test/image/baselines/box_plot_jitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/box_plot_jitter.png -------------------------------------------------------------------------------- /test/image/baselines/category_dtick_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/category_dtick_3.png -------------------------------------------------------------------------------- /test/image/baselines/connectgaps_2d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/connectgaps_2d.png -------------------------------------------------------------------------------- /test/image/baselines/contour_nolines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/contour_nolines.png -------------------------------------------------------------------------------- /test/image/baselines/contour_scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/contour_scatter.png -------------------------------------------------------------------------------- /test/image/baselines/date_histogram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/date_histogram.png -------------------------------------------------------------------------------- /test/image/baselines/electric_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/electric_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/error_bar_layers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/error_bar_layers.png -------------------------------------------------------------------------------- /test/image/baselines/error_bar_sqrt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/error_bar_sqrt.png -------------------------------------------------------------------------------- /test/image/baselines/error_bar_style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/error_bar_style.png -------------------------------------------------------------------------------- /test/image/baselines/geo_connectgaps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_connectgaps.png -------------------------------------------------------------------------------- /test/image/baselines/geo_kavrayskiy7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_kavrayskiy7.png -------------------------------------------------------------------------------- /test/image/baselines/geo_legendonly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_legendonly.png -------------------------------------------------------------------------------- /test/image/baselines/geo_multi-geos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_multi-geos.png -------------------------------------------------------------------------------- /test/image/baselines/geo_orthographic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_orthographic.png -------------------------------------------------------------------------------- /test/image/baselines/geo_usa-states.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_usa-states.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_annotations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_annotations.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_axes_labels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_axes_labels.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_axes_lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_axes_lines.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_date_axes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_date_axes.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_error_bars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_error_bars.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_heatmapgl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_heatmapgl.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_parcoords.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_parcoords.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_parcoords_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_parcoords_1.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_parcoords_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_parcoords_2.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_bunny-hull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_bunny-hull.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_convex-hull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_convex-hull.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_cufflinks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_cufflinks.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_multi-scene.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_multi-scene.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_nan-holes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_nan-holes.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_world-cals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_world-cals.png -------------------------------------------------------------------------------- /test/image/baselines/greens_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/greens_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/hist_003_to_093.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_003_to_093.png -------------------------------------------------------------------------------- /test/image/baselines/hist_all_integer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_all_integer.png -------------------------------------------------------------------------------- /test/image/baselines/hist_cum_stacked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_cum_stacked.png -------------------------------------------------------------------------------- /test/image/baselines/hist_valid_ses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_valid_ses.png -------------------------------------------------------------------------------- /test/image/baselines/hist_valid_ses_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_valid_ses_y.png -------------------------------------------------------------------------------- /test/image/baselines/labelled_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/labelled_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/legend_outside.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legend_outside.png -------------------------------------------------------------------------------- /test/image/baselines/line_grid_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/line_grid_color.png -------------------------------------------------------------------------------- /test/image/baselines/line_grid_width.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/line_grid_width.png -------------------------------------------------------------------------------- /test/image/baselines/mapbox_bubbles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/mapbox_bubbles.png -------------------------------------------------------------------------------- /test/image/baselines/picnic_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/picnic_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/pie_style_arrays.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/pie_style_arrays.png -------------------------------------------------------------------------------- /test/image/baselines/polar_area_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/polar_area_chart.png -------------------------------------------------------------------------------- /test/image/baselines/portland_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/portland_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/range_selector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/range_selector.png -------------------------------------------------------------------------------- /test/image/baselines/range_slider_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/range_slider_box.png -------------------------------------------------------------------------------- /test/image/baselines/simple_contour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/simple_contour.png -------------------------------------------------------------------------------- /test/image/baselines/simple_subplot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/simple_subplot.png -------------------------------------------------------------------------------- /test/image/baselines/stacked_subplots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/stacked_subplots.png -------------------------------------------------------------------------------- /test/image/baselines/ternary_markers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/ternary_markers.png -------------------------------------------------------------------------------- /test/image/baselines/ternary_multiple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/ternary_multiple.png -------------------------------------------------------------------------------- /test/image/baselines/ternary_simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/ternary_simple.png -------------------------------------------------------------------------------- /test/image/baselines/text_chart_basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/text_chart_basic.png -------------------------------------------------------------------------------- /test/image/baselines/tick_attributes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/tick_attributes.png -------------------------------------------------------------------------------- /test/image/baselines/viridis_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/viridis_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/yignbu_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/yignbu_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/yiorrd_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/yiorrd_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/zsmooth_methods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/zsmooth_methods.png -------------------------------------------------------------------------------- /test/jasmine/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../.eslintrc", 3 | "env": { 4 | "browser": true, 5 | "jasmine": true 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /dist/extras/mathjax/images/MenuArrow-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/dist/extras/mathjax/images/MenuArrow-15.png -------------------------------------------------------------------------------- /test/image/baselines/axes_category_null.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_category_null.png -------------------------------------------------------------------------------- /test/image/baselines/axes_free_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_free_default.png -------------------------------------------------------------------------------- /test/image/baselines/axes_range_manual.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_range_manual.png -------------------------------------------------------------------------------- /test/image/baselines/bar_and_histogram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_and_histogram.png -------------------------------------------------------------------------------- /test/image/baselines/bar_attrs_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_attrs_overlay.png -------------------------------------------------------------------------------- /test/image/baselines/bar_attrs_relative.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_attrs_relative.png -------------------------------------------------------------------------------- /test/image/baselines/bar_group_percent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_group_percent.png -------------------------------------------------------------------------------- /test/image/baselines/blackbody_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/blackbody_heatmap.png -------------------------------------------------------------------------------- /test/image/baselines/bubble_markersize0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bubble_markersize0.png -------------------------------------------------------------------------------- /test/image/baselines/colorscale_opacity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/colorscale_opacity.png -------------------------------------------------------------------------------- /test/image/baselines/contour_edge_cases.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/contour_edge_cases.png -------------------------------------------------------------------------------- /test/image/baselines/contour_transposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/contour_transposed.png -------------------------------------------------------------------------------- /test/image/baselines/contour_valid_ses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/contour_valid_ses.png -------------------------------------------------------------------------------- /test/image/baselines/custom_colorscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/custom_colorscale.png -------------------------------------------------------------------------------- /test/image/baselines/geo_africa-insets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_africa-insets.png -------------------------------------------------------------------------------- /test/image/baselines/geo_canadian-cites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_canadian-cites.png -------------------------------------------------------------------------------- /test/image/baselines/geo_choropleth-usa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_choropleth-usa.png -------------------------------------------------------------------------------- /test/image/baselines/geo_country-names.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_country-names.png -------------------------------------------------------------------------------- /test/image/baselines/geo_europe-bubbles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_europe-bubbles.png -------------------------------------------------------------------------------- /test/image/baselines/geo_stereographic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_stereographic.png -------------------------------------------------------------------------------- /test/image/baselines/geo_winkel-tripel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_winkel-tripel.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_axes_booleans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_axes_booleans.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_connect_gaps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_connect_gaps.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_simple_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_simple_inset.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_size_margins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_size_margins.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_chrisp-nan-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_chrisp-nan-1.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_contour-lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_contour-lines.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_errorbars_zx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_errorbars_zx.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_errorbars_zy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_errorbars_zy.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_log-axis-big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_log-axis-big.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_marker-arrays.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_marker-arrays.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_marker-color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_marker-color.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_mirror-ticks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_mirror-ticks.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_wire-surface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_wire-surface.png -------------------------------------------------------------------------------- /test/image/baselines/legend_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legend_horizontal.png -------------------------------------------------------------------------------- /test/image/baselines/legend_negative_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legend_negative_y.png -------------------------------------------------------------------------------- /test/image/baselines/legend_visibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legend_visibility.png -------------------------------------------------------------------------------- /test/image/baselines/mapbox_connectgaps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/mapbox_connectgaps.png -------------------------------------------------------------------------------- /test/image/baselines/mapbox_symbol-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/mapbox_symbol-text.png -------------------------------------------------------------------------------- /test/image/baselines/multiple_subplots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/multiple_subplots.png -------------------------------------------------------------------------------- /test/image/baselines/percent_error_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/percent_error_bar.png -------------------------------------------------------------------------------- /test/image/baselines/pie_label0_dlabel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/pie_label0_dlabel.png -------------------------------------------------------------------------------- /test/image/baselines/pie_sort_direction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/pie_sort_direction.png -------------------------------------------------------------------------------- /test/image/baselines/simple_annotation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/simple_annotation.png -------------------------------------------------------------------------------- /test/image/baselines/text_chart_arrays.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/text_chart_arrays.png -------------------------------------------------------------------------------- /test/image/baselines/text_chart_styling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/text_chart_styling.png -------------------------------------------------------------------------------- /test/image/baselines/tick_prefix_suffix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/tick_prefix_suffix.png -------------------------------------------------------------------------------- /test/image/baselines/annotations-autorange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/annotations-autorange.png -------------------------------------------------------------------------------- /test/image/baselines/axes-autotype-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes-autotype-empty.png -------------------------------------------------------------------------------- /test/image/baselines/axes_enumerated_ticks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_enumerated_ticks.png -------------------------------------------------------------------------------- /test/image/baselines/bar_attrs_group_norm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_attrs_group_norm.png -------------------------------------------------------------------------------- /test/image/baselines/bar_nonnumeric_sizes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_nonnumeric_sizes.png -------------------------------------------------------------------------------- /test/image/baselines/bar_stack-with-gaps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_stack-with-gaps.png -------------------------------------------------------------------------------- /test/image/baselines/basic-figure-to-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/basic-figure-to-image.png -------------------------------------------------------------------------------- /test/image/baselines/colorbar_tickformat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/colorbar_tickformat.png -------------------------------------------------------------------------------- /test/image/baselines/colorscale_constraint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/colorscale_constraint.png -------------------------------------------------------------------------------- /test/image/baselines/contour_match_edges.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/contour_match_edges.png -------------------------------------------------------------------------------- /test/image/baselines/custom_size_subplot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/custom_size_subplot.png -------------------------------------------------------------------------------- /test/image/baselines/error_bar_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/error_bar_horizontal.png -------------------------------------------------------------------------------- /test/image/baselines/geo_aitoff-sinusoidal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_aitoff-sinusoidal.png -------------------------------------------------------------------------------- /test/image/baselines/geo_bubbles-sizeref.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_bubbles-sizeref.png -------------------------------------------------------------------------------- /test/image/baselines/geo_choropleth-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_choropleth-text.png -------------------------------------------------------------------------------- /test/image/baselines/geo_conic-conformal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_conic-conformal.png -------------------------------------------------------------------------------- /test/image/baselines/geo_custom-colorscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_custom-colorscale.png -------------------------------------------------------------------------------- /test/image/baselines/geo_text_chart_arrays.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_text_chart_arrays.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_axes_range_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_axes_range_mode.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_axes_range_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_axes_range_type.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_parcoords_blocks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_parcoords_blocks.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_parcoords_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_parcoords_large.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_pointcloud-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_pointcloud-basic.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_stacked_subplots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_stacked_subplots.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_autocolorscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_autocolorscale.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_autorange-zero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_autorange-zero.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_errorbars_sqrt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_errorbars_sqrt.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_opacity-surface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_opacity-surface.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_snowden_altered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_snowden_altered.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_surface-lighting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_surface-lighting.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_tet_colorscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_tet_colorscale.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_text-weirdness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_text-weirdness.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_xy-defined-ticks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_xy-defined-ticks.png -------------------------------------------------------------------------------- /test/image/baselines/heatmap_brick_padding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/heatmap_brick_padding.png -------------------------------------------------------------------------------- /test/image/baselines/heatmap_multi-trace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/heatmap_multi-trace.png -------------------------------------------------------------------------------- /test/image/baselines/hist_0_to_1_midpoints.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_0_to_1_midpoints.png -------------------------------------------------------------------------------- /test/image/baselines/hist_all_integer_n50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_all_integer_n50.png -------------------------------------------------------------------------------- /test/image/baselines/hist_almost_integer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/hist_almost_integer.png -------------------------------------------------------------------------------- /test/image/baselines/histogram_colorscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/histogram_colorscale.png -------------------------------------------------------------------------------- /test/image/baselines/legendgroup_bar-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legendgroup_bar-stack.png -------------------------------------------------------------------------------- /test/image/baselines/mapbox_bubbles-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/mapbox_bubbles-text.png -------------------------------------------------------------------------------- /test/image/baselines/mapbox_custom-style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/mapbox_custom-style.png -------------------------------------------------------------------------------- /test/image/baselines/multiple_axes_double.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/multiple_axes_double.png -------------------------------------------------------------------------------- /test/image/baselines/range_selector_style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/range_selector_style.png -------------------------------------------------------------------------------- /test/image/baselines/range_slider_multiple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/range_slider_multiple.png -------------------------------------------------------------------------------- /test/image/baselines/shapes_below_traces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/shapes_below_traces.png -------------------------------------------------------------------------------- /test/image/baselines/shared_axes_subplots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/shared_axes_subplots.png -------------------------------------------------------------------------------- /test/image/baselines/ternary_array_styles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/ternary_array_styles.png -------------------------------------------------------------------------------- /test/image/baselines/titles-avoid-labels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/titles-avoid-labels.png -------------------------------------------------------------------------------- /test/image/baselines/axes_category_ascending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_category_ascending.png -------------------------------------------------------------------------------- /test/image/baselines/bar-colorscale-colorbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar-colorscale-colorbar.png -------------------------------------------------------------------------------- /test/image/baselines/bar_stackto100_negative.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_stackto100_negative.png -------------------------------------------------------------------------------- /test/image/baselines/boxplots_undefined_vals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/boxplots_undefined_vals.png -------------------------------------------------------------------------------- /test/image/baselines/bubble_nonnumeric-sizes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bubble_nonnumeric-sizes.png -------------------------------------------------------------------------------- /test/image/baselines/contour_lines_coloring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/contour_lines_coloring.png -------------------------------------------------------------------------------- /test/image/baselines/geo_bubbles-colorscales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_bubbles-colorscales.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_axes_range_manual.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_axes_range_manual.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_multiple_subplots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_multiple_subplots.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_projection-traces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_projection-traces.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_surface_intensity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_surface_intensity.png -------------------------------------------------------------------------------- /test/image/baselines/multiple_axes_multiple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/multiple_axes_multiple.png -------------------------------------------------------------------------------- /test/image/baselines/pie_labels_colors_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/pie_labels_colors_text.png -------------------------------------------------------------------------------- /test/image/baselines/scatter_fill_no_opacity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/scatter_fill_no_opacity.png -------------------------------------------------------------------------------- /test/image/baselines/scatter_fill_self_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/scatter_fill_self_next.png -------------------------------------------------------------------------------- /test/image/baselines/updatemenus_positioning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/updatemenus_positioning.png -------------------------------------------------------------------------------- /test/image/mocks/hist_category.json: -------------------------------------------------------------------------------- 1 | {"data":[{"x":["a","b","c","a","b","d","b","c","d"],"type":"histogram"}], 2 | "layout":{"height":300,"width":400}} 3 | -------------------------------------------------------------------------------- /test/image/baselines/autorange-tozero-rangemode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/autorange-tozero-rangemode.png -------------------------------------------------------------------------------- /test/image/baselines/axes_category_descending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_category_descending.png -------------------------------------------------------------------------------- /test/image/baselines/bar_stackrelative_negative.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_stackrelative_negative.png -------------------------------------------------------------------------------- /test/image/baselines/box_plot_jitter_edge_cases.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/box_plot_jitter_edge_cases.png -------------------------------------------------------------------------------- /test/image/baselines/box_with-empty-1st-trace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/box_with-empty-1st-trace.png -------------------------------------------------------------------------------- /test/image/baselines/boxplots_outliercolordflt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/boxplots_outliercolordflt.png -------------------------------------------------------------------------------- /test/image/baselines/candlestick_double-y-axis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/candlestick_double-y-axis.png -------------------------------------------------------------------------------- /test/image/baselines/colorbar_enumerated_ticks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/colorbar_enumerated_ticks.png -------------------------------------------------------------------------------- /test/image/baselines/contour_heatmap_coloring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/contour_heatmap_coloring.png -------------------------------------------------------------------------------- /test/image/baselines/contour_xyz-gaps-on-sides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/contour_xyz-gaps-on-sides.png -------------------------------------------------------------------------------- /test/image/baselines/error_bar_asymmetric_array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/error_bar_asymmetric_array.png -------------------------------------------------------------------------------- /test/image/baselines/geo_scattergeo-locations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_scattergeo-locations.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_scatter-color-array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_scatter-color-array.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_scatter3d-colorscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_scatter3d-colorscale.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_scatter3d-connectgaps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_scatter3d-connectgaps.png -------------------------------------------------------------------------------- /test/image/baselines/heatmap_autocolor_negative.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/heatmap_autocolor_negative.png -------------------------------------------------------------------------------- /test/image/baselines/heatmap_autocolor_positive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/heatmap_autocolor_positive.png -------------------------------------------------------------------------------- /test/image/baselines/heatmap_xyz-gaps-on-sides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/heatmap_xyz-gaps-on-sides.png -------------------------------------------------------------------------------- /test/image/baselines/legend_horizontal_autowrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legend_horizontal_autowrap.png -------------------------------------------------------------------------------- /test/image/baselines/legend_horizontal_groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/legend_horizontal_groups.png -------------------------------------------------------------------------------- /test/image/baselines/range_slider_axes_double.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/range_slider_axes_double.png -------------------------------------------------------------------------------- /test/image/baselines/range_slider_initial_valid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/range_slider_initial_valid.png -------------------------------------------------------------------------------- /test/image/baselines/scatter_fill_self_opacity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/scatter_fill_self_opacity.png -------------------------------------------------------------------------------- /test/image/baselines/stacked_coupled_subplots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/stacked_coupled_subplots.png -------------------------------------------------------------------------------- /test/image/baselines/text_chart_invalid-arrays.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/text_chart_invalid-arrays.png -------------------------------------------------------------------------------- /test/image/baselines/text_chart_single-string.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/text_chart_single-string.png -------------------------------------------------------------------------------- /src/traces/parcoords/shaders/fragment.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | varying vec4 fragColor; 4 | 5 | void main() { 6 | gl_FragColor = fragColor; 7 | } 8 | -------------------------------------------------------------------------------- /test/image/baselines/2dhistogram_contour_subplots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/2dhistogram_contour_subplots.png -------------------------------------------------------------------------------- /test/image/baselines/axes_category_categoryarray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_category_categoryarray.png -------------------------------------------------------------------------------- /test/image/baselines/axislabel_separatethousands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axislabel_separatethousands.png -------------------------------------------------------------------------------- /test/image/baselines/bar-marker-line-colorscales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar-marker-line-colorscales.png -------------------------------------------------------------------------------- /test/image/baselines/candlestick_rangeslider_thai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/candlestick_rangeslider_thai.png -------------------------------------------------------------------------------- /test/image/baselines/colorbar_tick_prefix_suffix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/colorbar_tick_prefix_suffix.png -------------------------------------------------------------------------------- /test/image/baselines/contour_transposed-irregular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/contour_transposed-irregular.png -------------------------------------------------------------------------------- /test/image/baselines/geo_country-names-text-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_country-names-text-chart.png -------------------------------------------------------------------------------- /test/image/baselines/geo_multiple-usa-choropleths.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/geo_multiple-usa-choropleths.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_opacity-scaling-spikes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_opacity-scaling-spikes.png -------------------------------------------------------------------------------- /test/image/baselines/pie_scale_textpos_hideslices.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/pie_scale_textpos_hideslices.png -------------------------------------------------------------------------------- /test/image/baselines/scatter-colorscale-colorbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/scatter-colorscale-colorbar.png -------------------------------------------------------------------------------- /test/image/baselines/tick_prefix_suffix_exponent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/tick_prefix_suffix_exponent.png -------------------------------------------------------------------------------- /test/image/baselines/bar_stackrelativeto100_negative.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/bar_stackrelativeto100_negative.png -------------------------------------------------------------------------------- /test/image/baselines/error_bar_asymmetric_constant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/error_bar_asymmetric_constant.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_stacked_coupled_subplots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_stacked_coupled_subplots.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_scatter-colorscale-marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_scatter-colorscale-marker.png -------------------------------------------------------------------------------- /test/image/baselines/heatmap-reverse-autocolorscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/heatmap-reverse-autocolorscale.png -------------------------------------------------------------------------------- /test/image/baselines/range_slider_initial_expanded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/range_slider_initial_expanded.png -------------------------------------------------------------------------------- /test/image/baselines/scatter-marker-line-colorscales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/scatter-marker-line-colorscales.png -------------------------------------------------------------------------------- /test/image/baselines/stacked_subplots_shared_yaxis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/stacked_subplots_shared_yaxis.png -------------------------------------------------------------------------------- /test/image/mocks/hist_003_to_093.json: -------------------------------------------------------------------------------- 1 | {"data":[{"x":[0.03,0.13,0.23,0.33,0.43,0.53,0.63,0.73,0.83,0.93],"type":"histogram"}], 2 | "layout":{"height":300,"width":400}} 3 | -------------------------------------------------------------------------------- /test/image/mocks/hist_003_to_1.json: -------------------------------------------------------------------------------- 1 | {"data":[{"x":[0.03,0.13,0.23,0.33,0.43,0.53,0.63,0.73,0.83,0.93,1],"type":"histogram"}], 2 | "layout":{"height":300,"width":400}} 3 | -------------------------------------------------------------------------------- /test/image/mocks/hist_0_to_093.json: -------------------------------------------------------------------------------- 1 | {"data":[{"x":[0,0.03,0.13,0.23,0.33,0.43,0.53,0.63,0.73,0.83,0.93],"type":"histogram"}], 2 | "layout":{"height":300,"width":400}} 3 | -------------------------------------------------------------------------------- /test/jasmine/assets/hover.js: -------------------------------------------------------------------------------- 1 | var mouseEvent = require('./mouse_event'); 2 | 3 | module.exports = function hover(x, y) { 4 | mouseEvent('mousemove', x, y); 5 | }; 6 | -------------------------------------------------------------------------------- /test/image/baselines/gl2d_scatter-colorscale-colorbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_scatter-colorscale-colorbar.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_scatter-color-line-gradient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_scatter-color-line-gradient.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_surface-circular-colorscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_surface-circular-colorscale.png -------------------------------------------------------------------------------- /test/image/baselines/heatmap_xyz-dates-and-categories.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/heatmap_xyz-dates-and-categories.png -------------------------------------------------------------------------------- /test/image/baselines/axes_category_descending_with_gaps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_category_descending_with_gaps.png -------------------------------------------------------------------------------- /test/image/baselines/gl2d_scatter-marker-line-colorscales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl2d_scatter-marker-line-colorscales.png -------------------------------------------------------------------------------- /test/image/baselines/gl3d_scatter-color-mono-and-palette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/gl3d_scatter-color-mono-and-palette.png -------------------------------------------------------------------------------- /test/image/mocks/hist_0_to_1_midpoints.json: -------------------------------------------------------------------------------- 1 | {"data":[{"x":[0,0.03,0.13,0.25,0.33,0.43,0.53,0.63,0.75,0.83,0.93,1],"type":"histogram"}], 2 | "layout":{"height":300,"width":400}} 3 | -------------------------------------------------------------------------------- /test/image/baselines/axes_category_categoryarray_truncated_tails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huangchuchuan/plotly.js/master/test/image/baselines/axes_category_categoryarray_truncated_tails.png -------------------------------------------------------------------------------- /src/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../.eslintrc", 3 | "env": { 4 | "browser": true 5 | }, 6 | "rules": { 7 | "strict": [2, "global"], 8 | "no-console": [2] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/jasmine/assets/destroy_graph_div.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function destroyGraphDiv() { 4 | var gd = document.getElementById('graph'); 5 | 6 | if(gd) document.body.removeChild(gd); 7 | }; 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | build/* 4 | !build/plotcss.js 5 | !build/ploticon.js 6 | !build/README.md 7 | 8 | npm-debug.log* 9 | *.sublime* 10 | 11 | .* 12 | !.gitignore 13 | !.npmignore 14 | !.eslintrc 15 | !.eslintignore 16 | -------------------------------------------------------------------------------- /test/jasmine/assets/ie9_mock.js: -------------------------------------------------------------------------------- 1 | delete window.Promise; 2 | 3 | delete window.ArrayBuffer; 4 | delete window.Uint8Array; 5 | delete window.Float32Array; 6 | delete window.Float64Array; 7 | delete window.Int16Array; 8 | delete window.Int32Array; 9 | -------------------------------------------------------------------------------- /tasks/watch.js: -------------------------------------------------------------------------------- 1 | var makeWatchifiedBundle = require('./util/watchified_bundle'); 2 | var noop = function() {}; 3 | 4 | // make a watchified bundle for plotly.js and run it! 5 | var watchifiedBundle = makeWatchifiedBundle(noop); 6 | watchifiedBundle(); 7 | -------------------------------------------------------------------------------- /src/css/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Vendor prefixer mixin. 2 | @mixin vendor($property, $value) { 3 | -webkit-#{$property}: $value; 4 | -moz-#{$property}: $value; 5 | -ms-#{$property}: $value; 6 | -o-#{$property}: $value; 7 | #{$property}: $value; 8 | } 9 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | build/* 2 | !build/plotcss.js 3 | !build/ploticon.js 4 | !build/README.md 5 | 6 | devtools 7 | test 8 | dist/extras 9 | 10 | circle.yml 11 | bower.json 12 | 13 | .ackrc 14 | .agignore 15 | .eslintignore 16 | .eslintrc 17 | 18 | npm-debug.log 19 | -------------------------------------------------------------------------------- /src/css/_drag.scss: -------------------------------------------------------------------------------- 1 | .select-outline { 2 | fill: none; 3 | stroke-width: 1; 4 | shape-rendering: crispEdges; 5 | } 6 | .select-outline-1 { 7 | stroke: white; 8 | } 9 | .select-outline-2 { 10 | stroke: black; 11 | stroke-dasharray: 2px 2px; 12 | } -------------------------------------------------------------------------------- /test/image/mocks/hist_grouped.json: -------------------------------------------------------------------------------- 1 | { 2 | "data":[{ 3 | "x":["1","2","3","4"], 4 | "type":"histogram" 5 | },{ 6 | "x":["1","2","3","4"], 7 | "type":"histogram" 8 | }], 9 | "layout":{"height":300,"width":400} 10 | } 11 | -------------------------------------------------------------------------------- /test/image/mocks/gl3d_delaunay.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "type":"mesh3d", 5 | "y":[0, 1, 2], 6 | "x":[1, 2, 0], 7 | "z":[2, 0, 1], 8 | "delaunayaxis": "x" 9 | }], 10 | "layout": { 11 | "title": "Delaunay axis" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/image/mocks/hist_stacked.json: -------------------------------------------------------------------------------- 1 | { 2 | "data":[{ 3 | "x":["1","2","3","4"], 4 | "type":"histogram" 5 | },{ 6 | "x":["1","2","3","4"], 7 | "type":"histogram" 8 | }], 9 | "layout":{"height":300,"width":400,"barmode":"stack"} 10 | } 11 | -------------------------------------------------------------------------------- /test/image/mocks/basic_bar.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "x": [ 5 | "giraffes", 6 | "orangutans", 7 | "monkeys" 8 | ], 9 | "y": [ 10 | 20, 11 | 14, 12 | 23 13 | ], 14 | "type": "bar" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/css/style.scss: -------------------------------------------------------------------------------- 1 | @import "vars.scss"; 2 | 3 | .js-plotly-plot .plotly { 4 | @import "mixins.scss"; 5 | @import "base.scss"; 6 | @import "cursor.scss"; 7 | @import "modebar.scss"; 8 | @import "tooltip.scss"; 9 | @import "drag.scss"; 10 | } 11 | @import "notifier.scss"; 12 | -------------------------------------------------------------------------------- /test/image/mocks/pie_simple.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "values": [ 5 | 1, 6 | 2, 7 | 3, 8 | 4, 9 | 5 10 | ], 11 | "type": "pie" 12 | } 13 | ], 14 | "layout": { 15 | "height": 300, 16 | "width": 400 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/jasmine/assets/click.js: -------------------------------------------------------------------------------- 1 | var mouseEvent = require('./mouse_event'); 2 | 3 | module.exports = function click(x, y, opts) { 4 | mouseEvent('mousemove', x, y, opts); 5 | mouseEvent('mousedown', x, y, opts); 6 | mouseEvent('mouseup', x, y, opts); 7 | mouseEvent('click', x, y, opts); 8 | }; 9 | -------------------------------------------------------------------------------- /lib/core.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/core'); 12 | -------------------------------------------------------------------------------- /test/image/mocks/gl3d_triangle.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "type":"mesh3d", 5 | "y":[0, 1, 2], 6 | "x":[1, 2, 0], 7 | "z":[2, 0, 1], 8 | "i":[0], 9 | "j":[1], 10 | "k":[2] 11 | }], 12 | "layout": { 13 | "title": "Triangle mesh" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /lib/bar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/bar'); 12 | -------------------------------------------------------------------------------- /lib/box.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/box'); 12 | -------------------------------------------------------------------------------- /lib/ohlc.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/ohlc'); 12 | -------------------------------------------------------------------------------- /lib/pie.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/pie'); 12 | -------------------------------------------------------------------------------- /lib/mesh3d.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/mesh3d'); 12 | -------------------------------------------------------------------------------- /lib/contour.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/contour'); 12 | -------------------------------------------------------------------------------- /lib/contourgl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/contourgl'); 12 | -------------------------------------------------------------------------------- /lib/filter.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/transforms/filter'); 12 | -------------------------------------------------------------------------------- /lib/groupby.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/transforms/groupby'); 12 | -------------------------------------------------------------------------------- /lib/heatmap.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/heatmap'); 12 | -------------------------------------------------------------------------------- /lib/heatmapgl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/heatmapgl'); 12 | -------------------------------------------------------------------------------- /lib/histogram.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/histogram'); 12 | -------------------------------------------------------------------------------- /lib/parcoords.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/parcoords'); 12 | -------------------------------------------------------------------------------- /lib/scatter.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/scatter'); 12 | -------------------------------------------------------------------------------- /lib/scatter3d.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/scatter3d'); 12 | -------------------------------------------------------------------------------- /lib/scattergl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/scattergl'); 12 | -------------------------------------------------------------------------------- /lib/surface.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/surface'); 12 | -------------------------------------------------------------------------------- /test/image/mocks/hist_all_integer.json: -------------------------------------------------------------------------------- 1 | { 2 | "data":[{ 3 | "x":["1","2","3","1","2","4","2","3","4","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","2","3","4","2","3","4","2","3","4","2","3","4"], 4 | "type":"histogram" 5 | }], 6 | "layout":{"height":300,"width":400} 7 | } 8 | -------------------------------------------------------------------------------- /lib/calendars.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/components/calendars'); 12 | -------------------------------------------------------------------------------- /lib/candlestick.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/candlestick'); 12 | -------------------------------------------------------------------------------- /lib/choropleth.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/choropleth'); 12 | -------------------------------------------------------------------------------- /lib/histogram2d.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/histogram2d'); 12 | -------------------------------------------------------------------------------- /lib/pointcloud.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/pointcloud'); 12 | -------------------------------------------------------------------------------- /lib/scattergeo.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/scattergeo'); 12 | -------------------------------------------------------------------------------- /lib/scattermapbox.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/scattermapbox'); 12 | -------------------------------------------------------------------------------- /lib/scatterternary.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/scatterternary'); 12 | -------------------------------------------------------------------------------- /src/components/modebar/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | 10 | 'use strict'; 11 | 12 | exports.manage = require('./manage'); 13 | -------------------------------------------------------------------------------- /test/image/mocks/bar_nonnumeric_sizes.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "x": [ 5 | "a", 6 | "b", 7 | "c", 8 | "d" 9 | ], 10 | "y": [ 11 | 1, 12 | null, 13 | "nonsense", 14 | 15 15 | ], 16 | "type": "bar" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /test/image/mocks/axes_free_default.json: -------------------------------------------------------------------------------- 1 | { 2 | "data":[{"x": [1, 2], "y": [1, 2]}], 3 | "layout": { 4 | "xaxis": { 5 | "anchor": "free", 6 | "side": "top" 7 | }, 8 | "yaxis": { 9 | "anchor": "free", 10 | "side": "right" 11 | }, 12 | "width": 400, 13 | "height": 400 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/image/mocks/axes_reversed.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "x": [ 5 | 1, 6 | 2 7 | ], 8 | "y": [ 9 | 1, 10 | 2 11 | ], 12 | "type": "scatter" 13 | } 14 | ], 15 | "layout": { 16 | "xaxis": { 17 | "autorange": "reversed" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/image/mocks/hist_almost_integer.json: -------------------------------------------------------------------------------- 1 | { 2 | "data":[{ 3 | "x":["1","2","3","1","2","4","2","3","4","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","2","3","4","2","3","4","2","3","4","2","3","4","2.5","3.5"], 4 | "type":"histogram" 5 | }], 6 | "layout":{"height":300,"width":400} 7 | } 8 | -------------------------------------------------------------------------------- /lib/histogram2dcontour.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = require('../src/traces/histogram2dcontour'); 12 | -------------------------------------------------------------------------------- /src/traces/scatter/constants.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | 10 | 'use strict'; 11 | 12 | module.exports = { 13 | PTS_LINESONLY: 20 14 | }; 15 | -------------------------------------------------------------------------------- /test/image/mocks/hist_all_integer_n50.json: -------------------------------------------------------------------------------- 1 | { 2 | "data":[{ 3 | "x":["1","2","3","1","2","4","2","3","4","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","1","2","3","2","3","4","2","3","4","2","3","4","2","3","4"], 4 | "type":"histogram", 5 | "nbinsx":50 6 | }], 7 | "layout":{"height":300,"width":400} 8 | } 9 | -------------------------------------------------------------------------------- /test/image/mocks/pie_label0_dlabel.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "values": [ 5 | 1, 6 | 2, 7 | 3, 8 | 4, 9 | 5 10 | ], 11 | "label0": 20, 12 | "dlabel": 5, 13 | "type": "pie" 14 | } 15 | ], 16 | "layout": { 17 | "height": 300, 18 | "width": 400 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/components/colorscale/default_scale.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 scales = require('./scales'); 12 | 13 | 14 | module.exports = scales.RdBu; 15 | -------------------------------------------------------------------------------- /test/image/mocks/box_plot_jitter.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "y": [ 5 | 0, 6 | 1, 7 | 1, 8 | 2, 9 | 3, 10 | 5, 11 | 8, 12 | 13, 13 | 21 14 | ], 15 | "boxpoints": "all", 16 | "jitter": 0, 17 | "pointpos": -0.5, 18 | "type": "box" 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /test/image/mocks/error_bar_sqrt.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "x": [ 5 | 1, 6 | 2, 7 | 3, 8 | 4 9 | ], 10 | "y": [ 11 | 2, 12 | 1, 13 | 3, 14 | 4 15 | ], 16 | "error_y": { 17 | "type": "sqrt" 18 | }, 19 | "type": "scatter" 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /src/traces/heatmap/has_columns.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | 10 | 'use strict'; 11 | 12 | module.exports = function(trace) { 13 | return !Array.isArray(trace.z[0]); 14 | }; 15 | -------------------------------------------------------------------------------- /test/image/mocks/scatter_fill_self_opacity.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "x": [ 5 | 6, 6 | 7, 7 | 8 8 | ], 9 | "y": [ 10 | 5, 11 | 6, 12 | 5 13 | ], 14 | "fill": "toself", 15 | "opacity": 0.3 16 | } 17 | ], 18 | "layout": { 19 | "title": "toself fill with opacity" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /devtools/image_viewer/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 |
7 |
8 |

 9 | 
10 |     
11 | 
12 | 
13 | 


--------------------------------------------------------------------------------
/src/lib/noop.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | // Simple helper functions
12 | // none of these need any external deps
13 | 
14 | module.exports = function noop() {};
15 | 


--------------------------------------------------------------------------------
/src/plots/polar/index.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 Polar = module.exports = require('./micropolar');
12 | 
13 | Polar.manager = require('./micropolar_manager');
14 | 


--------------------------------------------------------------------------------
/test/image/mocks/tick_prefix_suffix_exponent.json:
--------------------------------------------------------------------------------
 1 | {
 2 | 	"data": [
 3 |         {
 4 |             "x": [1,2,3,4,5,6,7],
 5 |             "y": [1e5,1e5,2e6,2e6,2e6,3e7,3e7]
 6 |         }
 7 | 	],
 8 |     "layout": {
 9 |         "yaxis": {
10 |             "tickprefix": "*** ",
11 |             "ticksuffix": " €",
12 |             "showexponent": "first"
13 |         }
14 |     }
15 | 
16 | }
17 | 


--------------------------------------------------------------------------------
/test/image/mocks/axislabel_separatethousands.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "x": [1000, 2000, 3000, 4000],
 5 |             "y": [1000, 1500, 2000, 10000],
 6 |             "type": "scatter"
 7 |         }
 8 |     ],
 9 |     "layout": {
10 |         "yaxis": {
11 |             "exponentformat": "none", 
12 |             "separatethousands": true 
13 |         }
14 |     }
15 | }
16 | 


--------------------------------------------------------------------------------
/test/image/mocks/basic_heatmap.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "z": [
 5 |         [
 6 |           1,
 7 |           20,
 8 |           30
 9 |         ],
10 |         [
11 |           20,
12 |           1,
13 |           60
14 |         ],
15 |         [
16 |           30,
17 |           60,
18 |           1
19 |         ]
20 |       ],
21 |       "type": "heatmap"
22 |     }
23 |   ]
24 | }
25 | 


--------------------------------------------------------------------------------
/test/image/mocks/percent_error_bar.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         0,
 6 |         1,
 7 |         2
 8 |       ],
 9 |       "y": [
10 |         6,
11 |         10,
12 |         2
13 |       ],
14 |       "error_y": {
15 |         "type": "percent",
16 |         "value": 50,
17 |         "visible": true
18 |       },
19 |       "type": "scatter"
20 |     }
21 |   ]
22 | }
23 | 


--------------------------------------------------------------------------------
/src/lib/identity.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | // Simple helper functions
12 | // none of these need any external deps
13 | 
14 | module.exports = function identity(d) { return d; };
15 | 


--------------------------------------------------------------------------------
/test/image/mocks/error_bar_horizontal.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         1,
 6 |         2,
 7 |         3,
 8 |         4
 9 |       ],
10 |       "y": [
11 |         2,
12 |         1,
13 |         3,
14 |         4
15 |       ],
16 |       "error_x": {
17 |         "type": "percent",
18 |         "value": 10
19 |       },
20 |       "type": "scatter"
21 |     }
22 |   ]
23 | }
24 | 


--------------------------------------------------------------------------------
/lib/index-mapbox.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 Plotly = require('./core');
12 | 
13 | Plotly.register([
14 |     require('./scattermapbox')
15 | ]);
16 | 
17 | module.exports = Plotly;
18 | 


--------------------------------------------------------------------------------
/test/jasmine/assets/create_graph_div.js:
--------------------------------------------------------------------------------
 1 | 'use strict';
 2 | 
 3 | module.exports = function createGraphDiv() {
 4 |     var gd = document.createElement('div');
 5 |     gd.id = 'graph';
 6 |     document.body.appendChild(gd);
 7 | 
 8 |     // force the graph to be at position 0,0 no matter what
 9 |     gd.style.position = 'fixed';
10 |     gd.style.left = 0;
11 |     gd.style.top = 0;
12 | 
13 |     return gd;
14 | };
15 | 


--------------------------------------------------------------------------------
/lib/index-basic.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 Plotly = require('./core');
12 | 
13 | Plotly.register([
14 |     require('./bar'),
15 |     require('./pie')
16 | ]);
17 | 
18 | module.exports = Plotly;
19 | 


--------------------------------------------------------------------------------
/src/components/legend/constants.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | module.exports = {
12 |     scrollBarWidth: 4,
13 |     scrollBarHeight: 20,
14 |     scrollBarColor: '#808BA4',
15 |     scrollBarMargin: 4
16 | };
17 | 


--------------------------------------------------------------------------------
/src/traces/choropleth/event_data.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | module.exports = function eventData(out, pt) {
13 |     out.location = pt.location;
14 |     out.z = pt.z;
15 | 
16 |     return out;
17 | };
18 | 


--------------------------------------------------------------------------------
/test/image/mocks/category_dtick_3.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data":[{
 3 |         "y":["3","2","1","2","3","4","3","2","1","2","3","4","3","4","4","3","2","1","2","2","3","4","3","3","2","1"],
 4 |         "x":["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
 5 |     }],
 6 |     "layout": {
 7 |         "autosize":false,
 8 |         "height":300,
 9 |         "width":300
10 |     }
11 | }
12 | 


--------------------------------------------------------------------------------
/lib/index-geo.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 Plotly = require('./core');
12 | 
13 | Plotly.register([
14 |     require('./scattergeo'),
15 |     require('./choropleth')
16 | ]);
17 | 
18 | module.exports = Plotly;
19 | 


--------------------------------------------------------------------------------
/src/traces/scattermapbox/event_data.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | 
13 | module.exports = function eventData(out, pt) {
14 |     out.lon = pt.lon;
15 |     out.lat = pt.lat;
16 | 
17 |     return out;
18 | };
19 | 


--------------------------------------------------------------------------------
/test/image/mocks/axes_category_ascending.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [{
 3 |         "x": ["c","a","e","b","d"],
 4 |         "y": [15,11,12,13,14]}
 5 |     ],
 6 |     "layout": {
 7 |         "xaxis": {
 8 |             "title": "category ascending",
 9 |             "type": "category",
10 |             "categoryorder": "category ascending",
11 |             "categoryarray": ["y","b","x","a","d","z","e","c", "q", "k"]
12 |         }}
13 | }
14 | 


--------------------------------------------------------------------------------
/test/jasmine/assets/get_client_position.js:
--------------------------------------------------------------------------------
 1 | module.exports = function getClientPosition(selector, index) {
 2 |     index = index || 0;
 3 | 
 4 |     var selection = document.querySelectorAll(selector),
 5 |         clientPos = selection[index].getBoundingClientRect(),
 6 |         x = Math.floor((clientPos.left + clientPos.right) / 2),
 7 |         y = Math.floor((clientPos.top + clientPos.bottom) / 2);
 8 | 
 9 |     return [x, y];
10 | };
11 | 


--------------------------------------------------------------------------------
/test/image/mocks/heatmap_brick_padding.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "z": [
 5 |         [
 6 |           1,
 7 |           20,
 8 |           30
 9 |         ],
10 |         [
11 |           20,
12 |           1,
13 |           60
14 |         ],
15 |         [
16 |           30,
17 |           60,
18 |           1
19 |         ]
20 |       ],
21 |       "xgap": 9,
22 |       "ygap": 6,
23 |       "type": "heatmap"
24 |     }
25 |   ]
26 | }
27 | 


--------------------------------------------------------------------------------
/src/components/colorbar/has_colorbar.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var Lib = require('../../lib');
13 | 
14 | 
15 | module.exports = function hasColorbar(container) {
16 |     return Lib.isPlainObject(container.colorbar);
17 | };
18 | 


--------------------------------------------------------------------------------
/tasks/noci_test.sh:
--------------------------------------------------------------------------------
 1 | #! /bin/bash
 2 | 
 3 | EXIT_STATE=0
 4 | 
 5 | # tests that aren't run on CI
 6 | 
 7 | # jasmine specs with @noCI tag
 8 | npm run test-jasmine -- --tags=noCI --nowatch || EXIT_STATE=$?
 9 | 
10 | # mapbox image tests take too much resources on CI
11 | npm run test-image -- mapbox_* || EXIT_STATE=$?
12 | 
13 | # run gl2d image test again (some mocks are skipped on CI)
14 | npm run test-image-gl2d || EXIT_STATE=$?
15 | 
16 | exit $EXIT_STATE
17 | 


--------------------------------------------------------------------------------
/test/jasmine/assets/timed_click.js:
--------------------------------------------------------------------------------
 1 | var mouseEvent = require('./mouse_event');
 2 | 
 3 | module.exports = function click(x, y) {
 4 |     mouseEvent('mousemove', x, y, {buttons: 0});
 5 | 
 6 |     window.setTimeout(function() {
 7 | 
 8 |         mouseEvent('mousedown', x, y, {buttons: 1});
 9 | 
10 |         window.setTimeout(function() {
11 | 
12 |             mouseEvent('mouseup', x, y, {buttons: 0});
13 | 
14 |         }, 50);
15 | 
16 |     }, 150);
17 | };
18 | 


--------------------------------------------------------------------------------
/test/image/mocks/basic_error_bar.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         0,
 6 |         1,
 7 |         2
 8 |       ],
 9 |       "y": [
10 |         6,
11 |         10,
12 |         2
13 |       ],
14 |       "error_y": {
15 |         "type": "data",
16 |         "array": [
17 |           1,
18 |           2,
19 |           3
20 |         ],
21 |         "visible": true
22 |       },
23 |       "type": "scatter"
24 |     }
25 |   ]
26 | }
27 | 


--------------------------------------------------------------------------------
/lib/index-gl3d.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 Plotly = require('./core');
12 | 
13 | Plotly.register([
14 |     require('./scatter3d'),
15 |     require('./surface'),
16 |     require('./mesh3d')
17 | ]);
18 | 
19 | module.exports = Plotly;
20 | 


--------------------------------------------------------------------------------
/src/assets/geo_assets.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 saneTopojson = require('sane-topojson');
12 | 
13 | 
14 | // package version injected by `npm run preprocess`
15 | exports.version = '1.25.2';
16 | 
17 | exports.topojson = saneTopojson;
18 | 


--------------------------------------------------------------------------------
/src/constants/gl2d_dashes.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | module.exports = {
13 |     solid: [1],
14 |     dot: [1, 1],
15 |     dash: [4, 1],
16 |     longdash: [8, 1],
17 |     dashdot: [4, 1, 1, 1],
18 |     longdashdot: [8, 1, 1, 1]
19 | };
20 | 


--------------------------------------------------------------------------------
/src/traces/choropleth/calc.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var colorscaleCalc = require('../../components/colorscale/calc');
13 | 
14 | 
15 | module.exports = function calc(gd, trace) {
16 |     colorscaleCalc(trace, trace.z, '', 'z');
17 | };
18 | 


--------------------------------------------------------------------------------
/test/image/mocks/gl3d_marker-color.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "type":"scatter3d",
 5 |       "y":[-102.63,-110.53,-96.97,-163.59],
 6 |       "x":[100.75,157.53,140.72,134.03],
 7 |       "z":[100.75,157.53,140.72,134.03],
 8 |       "marker": {
 9 |         "color": ["blue", "orange", "black"],
10 |         "size": [10, 20, 30, 40]
11 |       }
12 |     }],
13 |   "layout": {
14 |     "title": "Scatter3d with under-defined marker color array"
15 |   }
16 | }
17 | 


--------------------------------------------------------------------------------
/test/image/mocks/axes_category_categoryarray_truncated_tails.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [{
 3 |         "x": ["c","a","e","b","d"],
 4 |         "y": [15,11,12,13,14]}
 5 |     ],
 6 |     "layout": {
 7 |         "title": "categoryarray with truncated tails (y, q, k not plotted)",
 8 |         "xaxis": {
 9 |             "type": "category",
10 |             "categoryorder": "array",
11 |             "categoryarray": ["y","b","x","a","d","z","e","c", "q", "k"]
12 |         }}
13 | }
14 | 


--------------------------------------------------------------------------------
/test/image/mocks/bar_and_histogram.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     { "x": [1,1,1,1,1,2,2,2,3,3], "type": "histogram" },
 4 |     { "x": [1,2,3], "y":[-1,-2,-3], "type": "bar" },
 5 |     { "x": [1,2,3], "y":[-1,-2,-3], "type": "bar", "yaxis":"y2" },
 6 |     { "x": [1,1,1,1,1,2,2,2,3,3], "type": "histogram", "yaxis":"y2" }
 7 |   ],
 8 |   "layout": {
 9 |     "yaxis": { "domain": [0,0.49] },
10 |     "yaxis2": { "domain": [0.51, 1] },
11 |     "showlegend": false
12 |   }
13 | }
14 | 


--------------------------------------------------------------------------------
/test/image/mocks/error_bar_asymmetric_constant.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         1,
 6 |         2,
 7 |         3,
 8 |         4
 9 |       ],
10 |       "y": [
11 |         2,
12 |         1,
13 |         3,
14 |         4
15 |       ],
16 |       "error_y": {
17 |         "type": "percent",
18 |         "symmetric": false,
19 |         "value": 15,
20 |         "valueminus": 25
21 |       },
22 |       "type": "scatter"
23 |     }
24 |   ]
25 | }
26 | 


--------------------------------------------------------------------------------
/src/traces/scattergeo/event_data.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | 
13 | module.exports = function eventData(out, pt) {
14 |     out.lon = pt.lon;
15 |     out.lat = pt.lat;
16 |     out.location = pt.lon ? pt.lon : null;
17 | 
18 |     return out;
19 | };
20 | 


--------------------------------------------------------------------------------
/test/image/mocks/bubble_markersize0.json:
--------------------------------------------------------------------------------
1 | {
2 |     "data": [{"type":"scatter","mode":"markers","x":[100.75,157.53,140.72,134.03],"y":[-102.63,-110.53,-96.97,-163.59],"marker":{"size":[0,20,30,40]}}],
3 |     "layout": {"title":"Bubble with marker.size[0] === 0","showlegend":true,"xaxis":{"type":"linear","range":[97.17617854849068,161.79670520231213],"autorange":true},"yaxis":{"type":"linear","range":[-172.7879485636938,-89.02449541284403],"autorange":true},"height":598,"width":1080,"autosize":true}
4 | }
5 | 


--------------------------------------------------------------------------------
/src/components/colorbar/index.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | 
13 | exports.attributes = require('./attributes');
14 | 
15 | exports.supplyDefaults = require('./defaults');
16 | 
17 | exports.draw = require('./draw');
18 | 
19 | exports.hasColorbar = require('./has_colorbar');
20 | 


--------------------------------------------------------------------------------
/src/constants/gl_markers.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | module.exports = {
13 |     circle: '●',
14 |     'circle-open': '○',
15 |     square: '■',
16 |     'square-open': '□',
17 |     diamond: '◆',
18 |     'diamond-open': '◇',
19 |     cross: '+',
20 |     x: '❌'
21 | };
22 | 


--------------------------------------------------------------------------------
/src/lib/array_to_calc_item.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | // similar to Lib.mergeArray, but using inside a loop
13 | module.exports = function arrayToCalcItem(traceAttr, calcItem, calcAttr, i) {
14 |     if(Array.isArray(traceAttr)) calcItem[calcAttr] = traceAttr[i];
15 | };
16 | 


--------------------------------------------------------------------------------
/src/lib/str2rgbarray.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var rgba = require('color-rgba');
13 | 
14 | function str2RgbaArray(color) {
15 |     var colorOut = rgba(color);
16 |     return colorOut.length ? colorOut : [0, 0, 0, 1];
17 | }
18 | 
19 | module.exports = str2RgbaArray;
20 | 


--------------------------------------------------------------------------------
/src/traces/heatmap/max_row_length.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | module.exports = function maxRowLength(z) {
13 |     var len = 0;
14 | 
15 |     for(var i = 0; i < z.length; i++) {
16 |         len = Math.max(len, z[i].length);
17 |     }
18 | 
19 |     return len;
20 | };
21 | 


--------------------------------------------------------------------------------
/src/traces/contour/hover.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var heatmapHoverPoints = require('../heatmap/hover');
13 | 
14 | 
15 | module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
16 |     return heatmapHoverPoints(pointData, xval, yval, hovermode, true);
17 | };
18 | 


--------------------------------------------------------------------------------
/src/traces/heatmap/style.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var d3 = require('d3');
13 | 
14 | module.exports = function style(gd) {
15 |     d3.select(gd).selectAll('.hm image')
16 |         .style('opacity', function(d) {
17 |             return d.trace.opacity;
18 |         });
19 | };
20 | 


--------------------------------------------------------------------------------
/test/image/mocks/heatmap_autocolor_negative.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "z": [
 5 |                 [
 6 |                     "a", 
 7 |                     "-1.5", 
 8 |                     "b"
 9 |                 ], 
10 |                 [
11 |                     "-2.2", 
12 |                     "d", 
13 |                     "e"
14 |                 ]
15 |             ], 
16 |             "autocolorscale": true,
17 |             "type": "heatmap"
18 |         }
19 |     ] 
20 | }
21 | 


--------------------------------------------------------------------------------
/test/image/mocks/heatmap_autocolor_positive.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "z": [
 5 |                 [
 6 |                     "1", 
 7 |                     "1.5", 
 8 |                     "1"
 9 |                 ], 
10 |                 [
11 |                     "2.2", 
12 |                     "2", 
13 |                     "3"
14 |                 ]
15 |             ], 
16 |             "autocolorscale": true,
17 |             "type": "heatmap"
18 |         }
19 |     ] 
20 | }
21 | 


--------------------------------------------------------------------------------
/src/lib/mod.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | /**
12 |  * sanitized modulus function that always returns in the range [0, d)
13 |  * rather than (-d, 0] if v is negative
14 |  */
15 | module.exports = function mod(v, d) {
16 |     var out = v % d;
17 |     return out < 0 ? out + d : out;
18 | };
19 | 


--------------------------------------------------------------------------------
/test/jasmine/assets/delay.js:
--------------------------------------------------------------------------------
 1 | 'use strict';
 2 | 
 3 | /**
 4 |  * This is a very quick and simple promise delayer. It's not full-featured
 5 |  * like the `delay` module.
 6 |  *
 7 |  * Promise.resolve().then(delay(50)).then(...);
 8 |  */
 9 | module.exports = function delay(duration) {
10 |     return function(value) {
11 |         return new Promise(function(resolve) {
12 |             setTimeout(function() {
13 |                 resolve(value);
14 |             }, duration || 0);
15 |         });
16 |     };
17 | };
18 | 


--------------------------------------------------------------------------------
/src/css/_vars.scss:
--------------------------------------------------------------------------------
 1 | $color-brand-primary: #447adb;
 2 | $color-brand-accent: #1d3b84;
 3 | 
 4 | $color-bg-base: #f3f3f3;
 5 | $color-bg-light: #fff;
 6 | $color-bg-darker: #e0e2e5;
 7 | $color-brand-tint: #a9b3c7;
 8 | $color-bg-hint: #edf1f8;
 9 | $color-bg-pay-attention: #fee186;
10 | 
11 | 
12 | $color-click: #69738a;
13 | $color-lines: #ccc;
14 | $color-inline-code: #db44a5;
15 | $color-muted-text: #777;
16 | 
17 | 
18 | $static-url: "/static";
19 | $font-url: "#{$static-url}/plotlyjs/src/fonts";
20 | 
21 | $zIndex: 1001;
22 | 


--------------------------------------------------------------------------------
/test/image/mocks/geo_first.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "type": "scattergeo",
 5 |             "lon": [0, -75, 20],
 6 |             "lat": [0, 45],
 7 |             "marker": {"size": [20, 30]}
 8 |         },
 9 |         {
10 |             "type": "choropleth",
11 |             "locations": ["USA", "CAN", "RUS"],
12 |             "z": [0, 5, 10]
13 |         }
14 |     ],
15 |     "layout": {
16 |         "showframe": true,
17 |         "width": 600,
18 |         "height": 440
19 |     }
20 | }
21 | 


--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "plotly/plotly.js",
 3 |   "description": "The open source javascript graphing library that powers plotly",
 4 |   "keywords": [
 5 |       "graphing",
 6 |       "plotting",
 7 |       "data",
 8 |       "visualization",
 9 |       "plotly"
10 |   ],
11 |   "minimum-stability": "stable",
12 |   "homepage": "https://plot.ly/javascript/",
13 |   "license": "MIT",
14 |   "authors": [
15 |       {
16 |           "name": "Plotly, Inc.",
17 |           "email": "sales@plot.ly"
18 |       }
19 |   ]
20 | }
21 | 


--------------------------------------------------------------------------------
/lib/index-finance.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 Plotly = require('./core');
12 | 
13 | Plotly.register([
14 |     require('./bar'),
15 |     require('./histogram'),
16 |     require('./pie'),
17 |     require('./ohlc'),
18 |     require('./candlestick')
19 | ]);
20 | 
21 | module.exports = Plotly;
22 | 


--------------------------------------------------------------------------------
/src/constants/gl3d_dashes.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | module.exports = {
13 |     solid: [[], 0],
14 |     dot: [[0.5, 1], 200],
15 |     dash: [[0.5, 1], 50],
16 |     longdash: [[0.5, 1], 10],
17 |     dashdot: [[0.5, 0.625, 0.875, 1], 50],
18 |     longdashdot: [[0.5, 0.7, 0.8, 1], 10]
19 | };
20 | 


--------------------------------------------------------------------------------
/test/image/mocks/axes_range_mode.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         2,
 6 |         4,
 7 |         6
 8 |       ],
 9 |       "y": [
10 |         -3,
11 |         0,
12 |         3
13 |       ],
14 |       "type": "scatter"
15 |     }
16 |   ],
17 |   "layout": {
18 |     "showlegend": false,
19 |     "xaxis": {
20 |       "autorange": true,
21 |       "rangemode": "tozero"
22 |     },
23 |     "yaxis": {
24 |       "autorange": true,
25 |       "rangemode": "nonnegative"
26 |     }
27 |   }
28 | }
29 | 


--------------------------------------------------------------------------------
/src/traces/contour/end_plus.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | /*
13 |  * tiny helper to move the end of the contours a little to prevent
14 |  * losing the last contour to rounding errors
15 |  */
16 | module.exports = function endPlus(contours) {
17 |     return contours.end + contours.size / 1e6;
18 | };
19 | 


--------------------------------------------------------------------------------
/lib/index-gl2d.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 Plotly = require('./core');
12 | 
13 | Plotly.register([
14 |     require('./scattergl'),
15 |     require('./pointcloud'),
16 |     require('./heatmapgl'),
17 |     require('./contourgl'),
18 |     require('./parcoords')
19 | ]);
20 | 
21 | module.exports = Plotly;
22 | 


--------------------------------------------------------------------------------
/src/traces/scatter/line_shape_defaults.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | 
13 | // common to 'scatter' and 'scatterternary'
14 | module.exports = function handleLineShapeDefaults(traceIn, traceOut, coerce) {
15 |     var shape = coerce('line.shape');
16 |     if(shape === 'spline') coerce('line.smoothing');
17 | };
18 | 


--------------------------------------------------------------------------------
/test/image/mocks/bar_stackto1.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data":[
 3 |         {"name":"Col1","y":["1","2","3","4","5"],"x":["1","2","3","4","5"],"type":"bar","uid":"f8cb0a"},
 4 |         {"name":"Col2","y":["2","3","4","3","2"],"x":["1","2","3","4","5"],"type":"bar","uid":"bb3568"},
 5 |         {"name":"Col3","y":["5","4","3","2","1"],"x":["1","2","3","4","5"],"type":"bar","uid":"2de3f3"}
 6 |     ],
 7 |     "layout":{
 8 |         "height":400,
 9 |         "width":400,
10 |         "barmode":"stack",
11 |         "barnorm":"fraction"
12 |     }
13 | }
14 | 


--------------------------------------------------------------------------------
/test/image/mocks/basic_line.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         1,
 6 |         2,
 7 |         3,
 8 |         4
 9 |       ],
10 |       "y": [
11 |         10,
12 |         15,
13 |         13,
14 |         17
15 |       ],
16 |       "type": "scatter"
17 |     },
18 |     {
19 |       "x": [
20 |         1,
21 |         2,
22 |         3,
23 |         4
24 |       ],
25 |       "y": [
26 |         16,
27 |         5,
28 |         11,
29 |         9
30 |       ],
31 |       "type": "scatter"
32 |     }
33 |   ]
34 | }
35 | 


--------------------------------------------------------------------------------
/test/image/mocks/gl2d_connect_gaps.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [1, 2, 3, 4, 5],
 5 |       "y": [1, 1, null, -1, -1],
 6 |       "connectgaps": false,
 7 |       "mode": "lines",
 8 |       "type": "scattergl"
 9 |     },
10 |     {
11 |       "x": [1, 2, 3, 4, 5],
12 |       "y": [-2, -2, null, 2, 2],
13 |       "connectgaps": true,
14 |       "mode": "lines",
15 |       "type": "scattergl",
16 |       "opacity": 0.4
17 |     }
18 |   ],
19 |   "layout": {
20 |     "title": "Connect gaps + line opacity test"
21 |   }
22 | }
23 | 


--------------------------------------------------------------------------------
/src/traces/scatter/text_defaults.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var Lib = require('../../lib');
13 | 
14 | 
15 | // common to 'scatter', 'scatter3d' and 'scattergeo'
16 | module.exports = function(traceIn, traceOut, layout, coerce) {
17 |     coerce('textposition');
18 |     Lib.coerceFont(coerce, 'textfont', layout.font);
19 | };
20 | 


--------------------------------------------------------------------------------
/tasks/test_bundle.js:
--------------------------------------------------------------------------------
 1 | var path = require('path');
 2 | var glob = require('glob');
 3 | 
 4 | var constants = require('./util/constants');
 5 | var common = require('./util/common');
 6 | var pathToJasmineBundleTests = path.join(constants.pathToJasmineBundleTests);
 7 | 
 8 | 
 9 | glob(pathToJasmineBundleTests + '/*.js', function(err, files) {
10 |     files.forEach(function(file) {
11 |         var baseName = path.basename(file);
12 |         var cmd = 'npm run test-jasmine -- --bundleTest=' + baseName;
13 | 
14 |         common.execCmd(cmd);
15 |     });
16 | });
17 | 


--------------------------------------------------------------------------------
/src/components/colorscale/is_valid_scale.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var scales = require('./scales');
13 | var isValidScaleArray = require('./is_valid_scale_array');
14 | 
15 | 
16 | module.exports = function isValidScale(scl) {
17 |     if(scales[scl] !== undefined) return true;
18 |     else return isValidScaleArray(scl);
19 | };
20 | 


--------------------------------------------------------------------------------
/src/components/legend/index.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | 
13 | module.exports = {
14 |     moduleType: 'component',
15 |     name: 'legend',
16 | 
17 |     layoutAttributes: require('./attributes'),
18 |     supplyLayoutDefaults: require('./defaults'),
19 | 
20 |     draw: require('./draw'),
21 |     style: require('./style')
22 | };
23 | 


--------------------------------------------------------------------------------
/src/traces/pie/layout_attributes.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | module.exports = {
12 |     /**
13 |      * hiddenlabels is the pie chart analog of visible:'legendonly'
14 |      * but it can contain many labels, and can hide slices
15 |      * from several pies simultaneously
16 |      */
17 |     hiddenlabels: {valType: 'data_array'}
18 | };
19 | 


--------------------------------------------------------------------------------
/test/jasmine/assets/assert_dims.js:
--------------------------------------------------------------------------------
 1 | 'use strict';
 2 | 
 3 | var d3 = require('d3');
 4 | 
 5 | module.exports = function assertDims(dims) {
 6 |     var traces = d3.selectAll('.trace');
 7 | 
 8 |     expect(traces.size())
 9 |         .toEqual(dims.length, 'to have correct number of traces');
10 | 
11 |     traces.each(function(_, i) {
12 |         var trace = d3.select(this);
13 |         var points = trace.selectAll('.point');
14 | 
15 |         expect(points.size())
16 |             .toEqual(dims[i], 'to have correct number of pts in trace ' + i);
17 |     });
18 | };
19 | 


--------------------------------------------------------------------------------
/src/components/images/index.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | module.exports = {
12 |     moduleType: 'component',
13 |     name: 'images',
14 | 
15 |     layoutAttributes: require('./attributes'),
16 |     supplyLayoutDefaults: require('./defaults'),
17 | 
18 |     draw: require('./draw'),
19 | 
20 |     convertCoords: require('./convert_coords')
21 | };
22 | 


--------------------------------------------------------------------------------
/src/components/sliders/index.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 constants = require('./constants');
12 | 
13 | module.exports = {
14 |     moduleType: 'component',
15 |     name: constants.name,
16 | 
17 |     layoutAttributes: require('./attributes'),
18 |     supplyLayoutDefaults: require('./defaults'),
19 | 
20 |     draw: require('./draw')
21 | };
22 | 


--------------------------------------------------------------------------------
/src/components/updatemenus/index.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 constants = require('./constants');
12 | 
13 | module.exports = {
14 |     moduleType: 'component',
15 |     name: constants.name,
16 | 
17 |     layoutAttributes: require('./attributes'),
18 |     supplyLayoutDefaults: require('./defaults'),
19 | 
20 |     draw: require('./draw')
21 | };
22 | 


--------------------------------------------------------------------------------
/tasks/baseline.js:
--------------------------------------------------------------------------------
 1 | var constants = require('./util/constants');
 2 | var common = require('./util/common');
 3 | var containerCommands = require('./util/container_commands');
 4 | 
 5 | var msg = [
 6 |     'Generating baseline image(s) using build/plotly.js from',
 7 |     common.getTimeLastModified(constants.pathToPlotlyBuild),
 8 |     '\n'
 9 | ].join(' ');
10 | 
11 | var cmd = containerCommands.getRunCmd(
12 |     process.env.CIRCLECI,
13 |     'node test/image/make_baseline.js ' + process.argv.slice(2).join(' ')
14 | );
15 | 
16 | console.log(msg);
17 | common.execCmd(cmd);
18 | 


--------------------------------------------------------------------------------
/test/jasmine/bundle_tests/requirejs_test.js:
--------------------------------------------------------------------------------
 1 | describe('plotly.js + require.js', function() {
 2 |     'use strict';
 3 | 
 4 |     it('should preserve require.js globals', function() {
 5 |         expect(window.requirejs).toBeDefined();
 6 |         expect(window.define).toBeDefined();
 7 |         expect(window.require).toBeDefined();
 8 |     });
 9 | 
10 |     it('should be able to import plotly.min.js', function(done) {
11 |         require(['plotly'], function(Plotly) {
12 |             expect(Plotly).toBeDefined();
13 |             done();
14 |         });
15 |     });
16 | });
17 | 


--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "plotly.js",
 3 |   "description": "The open source javascript graphing library that powers plotly",
 4 |   "main": "./dist/plotly.js",
 5 |   "authors": [
 6 |     "Plotly, Inc."
 7 |   ],
 8 |   "license": "MIT",
 9 |   "keywords": [
10 |     "graphing",
11 |     "plotting",
12 |     "data",
13 |     "visualization",
14 |     "plotly"
15 |   ],
16 |   "homepage": "https://plot.ly",
17 |   "ignore": [
18 |     "**/.*",
19 |     "bower_components",
20 |     "build",
21 |     "devtools",
22 |     "node_modules",
23 |     "tasks",
24 |     "test"
25 |   ]
26 | }
27 | 


--------------------------------------------------------------------------------
/test/image/mocks/gl3d_tet_colorscale.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "type":"mesh3d",
 5 |       "y":[0, 0, 1, 2],
 6 |       "x":[0, 1, 2, 0],
 7 |       "z":[0, 2, 0, 1],
 8 |       "i":[0, 0, 0, 1],
 9 |       "j":[1, 2, 3, 2],
10 |       "k":[2, 3, 1, 3],
11 |       "colorscale": [
12 |         [0, "rgb(0, 0, 0)"],
13 |         [0.33, "rgb(255, 0, 0)"],
14 |         [0.66, "rgb(0, 255, 0)"],
15 |         [1, "rgb(0, 0, 255)"]
16 |       ],
17 |       "intensity": [0, 0.33, 0.66, 1]
18 |     }],
19 |   "layout": {
20 |     "title": "Tetrahedra Custom Colorscale"
21 |   }
22 | }
23 | 


--------------------------------------------------------------------------------
/tasks/ci_test.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/bash
 2 | 
 3 | EXIT_STATE=0
 4 | 
 5 | case $CIRCLE_NODE_INDEX in
 6 | 
 7 |     0)
 8 |         npm run test-image      || EXIT_STATE=$?
 9 |         npm run test-image-gl2d || EXIT_STATE=$?
10 |         npm run test-bundle     || EXIT_STATE=$?
11 |         npm run test-syntax     || EXIT_STATE=$?
12 |         npm run lint            || EXIT_STATE=$?
13 |         exit $EXIT_STATE
14 |         ;;
15 | 
16 |     1)
17 |         npm run test-jasmine || EXIT_STATE=$?
18 |         npm run test-export  || EXIT_STATE=$?
19 |         exit $EXIT_STATE
20 |         ;;
21 | 
22 | esac
23 | 


--------------------------------------------------------------------------------
/src/components/colorscale/flip_scale.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | module.exports = function flipScale(scl) {
13 |     var N = scl.length,
14 |         sclNew = new Array(N),
15 |         si;
16 | 
17 |     for(var i = N - 1, j = 0; i >= 0; i--, j++) {
18 |         si = scl[i];
19 |         sclNew[j] = [1 - si[0], si[1]];
20 |     }
21 | 
22 |     return sclNew;
23 | };
24 | 


--------------------------------------------------------------------------------
/test/image/mocks/basic_area.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         1,
 6 |         2,
 7 |         3,
 8 |         4
 9 |       ],
10 |       "y": [
11 |         0,
12 |         2,
13 |         3,
14 |         5
15 |       ],
16 |       "fill": "tozeroy",
17 |       "type": "scatter"
18 |     },
19 |     {
20 |       "x": [
21 |         1,
22 |         2,
23 |         3,
24 |         4
25 |       ],
26 |       "y": [
27 |         3,
28 |         5,
29 |         1,
30 |         7
31 |       ],
32 |       "fill": "tonexty",
33 |       "type": "scatter"
34 |     }
35 |   ]
36 | }
37 | 


--------------------------------------------------------------------------------
/test/image/mocks/gl3d_log-axis.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [{
 3 |     "type": "scatter3d",
 4 |     "mode": "lines",
 5 |     "x": [1,2,3,4,5],
 6 |     "y": [1,2,3,4,5],
 7 |     "z": [3,3,3,3,3],
 8 |     "line": {
 9 |       "width": 6
10 |     }
11 |   },{
12 |     "type": "scatter3d",
13 |     "mode": "lines",
14 |     "x": [1,2,3,4,5],
15 |     "y": [3,2,1, 0, -1],
16 |     "z": [3,3,3, 3, 3],
17 |     "line": {
18 |       "width": 20
19 |     }
20 |   }],
21 |   "layout": {
22 |     "title": "test",
23 |     "scene": {
24 |       "xaxis": {
25 |         "type": "log"
26 |       }
27 |     }
28 |   }
29 | }
30 | 


--------------------------------------------------------------------------------
/circle.yml:
--------------------------------------------------------------------------------
 1 | general:
 2 |   artifacts:
 3 |     - build/test_images/
 4 |     - build/test_images_diff/
 5 | 
 6 | machine:
 7 |   node:
 8 |     version: 6.1.0
 9 |   timezone:
10 |     America/Anchorage
11 |   services:
12 |     - docker
13 | 
14 | dependencies:
15 |   override:
16 |     - npm install && npm dedupe && npm prune && npm install
17 |     - npm ls || true
18 |     - npm run docker -- pull
19 |     - npm run pretest
20 |     - npm run docker -- run
21 |     - npm run cibuild
22 |     - npm run docker -- setup
23 | 
24 | test:
25 |   override:
26 |     - ./tasks/ci_test.sh:
27 |         parallel: true
28 | 


--------------------------------------------------------------------------------
/src/lib/is_array.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | /**
12 |  * Return true for arrays, whether they're untyped or not.
13 |  */
14 | 
15 | // IE9 fallback
16 | var ab = (typeof ArrayBuffer === 'undefined' || !ArrayBuffer.isView) ?
17 |     {isView: function() { return false; }} :
18 |     ArrayBuffer;
19 | 
20 | module.exports = function isArray(a) {
21 |     return Array.isArray(a) || ab.isView(a);
22 | };
23 | 


--------------------------------------------------------------------------------
/test/image/mocks/hist_summed.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "histfunc": "sum",
 5 |             "y": [
 6 |                 "5",
 7 |                 "10",
 8 |                 "3",
 9 |                 "10",
10 |                 "5"
11 |             ],
12 |             "x": [
13 |                 "Apples",
14 |                 "Apples",
15 |                 "Apples",
16 |                 "Oranges",
17 |                 "Bananas"
18 |             ],
19 |             "type": "histogram"
20 |         }
21 |     ],
22 |     "layout": {
23 |         "height": 300,
24 |         "width": 400
25 |     }
26 | }
27 | 


--------------------------------------------------------------------------------
/src/traces/histogram/average.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | 
13 | module.exports = function doAvg(size, counts) {
14 |     var nMax = size.length,
15 |         total = 0;
16 |     for(var i = 0; i < nMax; i++) {
17 |         if(counts[i]) {
18 |             size[i] /= counts[i];
19 |             total += size[i];
20 |         }
21 |         else size[i] = null;
22 |     }
23 |     return total;
24 | };
25 | 


--------------------------------------------------------------------------------
/test/image/mocks/colorbar_tick_prefix_suffix.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "type": "contour",
 5 |             "z": [
 6 |                 ["1e5", "2e6"],
 7 |                 ["2e6", "3e7"]
 8 |             ],
 9 |             "colorbar": {
10 |                 "showexponent": "last",
11 |                 "tickprefix": "*** ",
12 |                 "showtickprefix": "first",
13 |                 "ticksuffix": " €",
14 |                 "showticksuffix": "last"
15 |             }
16 |         }
17 |     ],
18 |     "layout": {
19 |         "title": "colorbar tick label prefix and suffix"
20 |     }
21 | }
22 | 


--------------------------------------------------------------------------------
/test/image/mocks/contour_lines_coloring.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data":[{
 3 |     "contours":{"coloring":"lines"},
 4 |     "z":[["1",""],["2",""],["3",""],["3",""],["4",""],["5",""],["6",""],["5",""],["2",""],["3",""],["3",""],["5",""],["6",""],["5",""],["4","1"],["4","2"],["2","3"],["1","4"],["3","5"],["2","4"],["1","3"],["3","2"],["5","3"],["4","4"],["3","3"],["2","2"],["1","1"],["2","2"],["3","3"],["4","4"],["5","6"],["4","5"],["3","4"],["2","3"],["3","2"],["2","3"],["3","4"],["3","3"],["3","2"]],
 5 |     "type":"contour"
 6 |   }],
 7 |   "layout":{
 8 |     "autosize":false,
 9 |     "height":400,
10 |     "width":400
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/src/constants/interactions.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
12 | module.exports = {
13 |     /**
14 |      * Timing information for interactive elements
15 |      */
16 |     SHOW_PLACEHOLDER: 100,
17 |     HIDE_PLACEHOLDER: 1000,
18 | 
19 |     // ms between first mousedown and 2nd mouseup to constitute dblclick...
20 |     // we don't seem to have access to the system setting
21 |     DBLCLICKDELAY: 300
22 | };
23 | 


--------------------------------------------------------------------------------
/src/traces/pie/layout_defaults.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 Lib = require('../../lib');
12 | 
13 | var layoutAttributes = require('./layout_attributes');
14 | 
15 | module.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {
16 |     function coerce(attr, dflt) {
17 |         return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);
18 |     }
19 |     coerce('hiddenlabels');
20 | };
21 | 


--------------------------------------------------------------------------------
/test/image/mocks/box_with-empty-1st-trace.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "x": [],
 5 |             "y": []
 6 |         },
 7 |         {
 8 |             "jitter": 0.3,
 9 |             "name": "y",
10 |             "type": "box",
11 |             "y": [
12 |                 0,
13 |                 1,
14 |                 1,
15 |                 2,
16 |                 3,
17 |                 5,
18 |                 8,
19 |                 13,
20 |                 21
21 |             ],
22 |             "pointpos": -1.8,
23 |             "boxpoints": "all"
24 |         }
25 |     ],
26 |     "layout": {}
27 | }
28 | 


--------------------------------------------------------------------------------
/test/image/mocks/histogram_colorscale.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "xbins": {
 5 |                 "start": -1.5,
 6 |                 "end": 4.5,
 7 |                 "size": 1
 8 |             },
 9 |             "marker": {
10 |                 "cmin": 0,
11 |                 "colorscale": "Earth",
12 |                 "color": [ 0, 1, 2, 3, 4, 5 ],
13 |                 "cmax": 5
14 |             },
15 |             "x": [ 0, 1, 1, 2, 2, 2, 3, 3, 4 ],
16 |             "type": "histogram"
17 |         }
18 |     ],
19 |     "layout": {
20 |         "height": 500,
21 |         "width": 700
22 |     }
23 | }
24 | 


--------------------------------------------------------------------------------
/test/image/index.html:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 3 | 
 4 | 
 5 | 
 6 | 
 7 | 
 8 | 
 9 | 
10 | 
11 | 
12 | 


--------------------------------------------------------------------------------
/test/image/mocks/show_legend.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         0,
 6 |         1,
 7 |         2
 8 |       ],
 9 |       "y": [
10 |         1,
11 |         2,
12 |         3
13 |       ],
14 |       "name": "First Trace",
15 |       "showlegend": false,
16 |       "type": "scatter"
17 |     },
18 |     {
19 |       "x": [
20 |         0,
21 |         1,
22 |         2,
23 |         3
24 |       ],
25 |       "y": [
26 |         8,
27 |         4,
28 |         2,
29 |         0
30 |       ],
31 |       "name": "Second Trace",
32 |       "showlegend": true,
33 |       "type": "scatter"
34 |     }
35 |   ]
36 | }
37 | 


--------------------------------------------------------------------------------
/tasks/test_export.js:
--------------------------------------------------------------------------------
 1 | var constants = require('./util/constants');
 2 | var common = require('./util/common');
 3 | var containerCommands = require('./util/container_commands');
 4 | 
 5 | var msg = [
 6 |     'Running image export tests using build/plotly.js from',
 7 |     common.getTimeLastModified(constants.pathToPlotlyBuild),
 8 |     '\n'
 9 | ].join(' ');
10 | 
11 | var cmd = containerCommands.getRunCmd(
12 |     process.env.CIRCLECI,
13 |     'node test/image/export_test.js ' + process.argv.slice(2).join(' ')
14 | );
15 | 
16 | console.log(msg);
17 | common.execCmd(containerCommands.ping, function() {
18 |     common.execCmd(cmd);
19 | });
20 | 


--------------------------------------------------------------------------------
/test/image/mocks/contour_heatmap_coloring.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data":[{
 3 |     "contours":{"coloring":"heatmap","showlines":false},
 4 |     "z":[["1",""],["2",""],["3",""],["3",""],["4",""],["5",""],["6",""],["5",""],["2",""],["3",""],["3",""],["5",""],["6",""],["5",""],["4","1"],["4","2"],["2","3"],["1","4"],["3","5"],["2","4"],["1","3"],["3","2"],["5","3"],["4","4"],["3","3"],["2","2"],["1","1"],["2","2"],["3","3"],["4","4"],["5","6"],["4","5"],["3","4"],["2","3"],["3","2"],["2","3"],["3","4"],["3","3"],["3","2"]],
 5 |     "type":"contour"
 6 |   }],
 7 |   "layout":{
 8 |     "autosize":false,
 9 |     "height":400,
10 |     "width":400
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/test/image/mocks/global_font.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         0,
 6 |         1,
 7 |         2,
 8 |         3,
 9 |         4,
10 |         5,
11 |         6,
12 |         7,
13 |         8
14 |       ],
15 |       "y": [
16 |         0,
17 |         1,
18 |         2,
19 |         3,
20 |         4,
21 |         5,
22 |         6,
23 |         7,
24 |         8
25 |       ],
26 |       "type": "scatter"
27 |     }
28 |   ],
29 |   "layout": {
30 |     "title": "Global Font",
31 |     "font": {
32 |       "family": "Courier New, monospace",
33 |       "size": 18,
34 |       "color": "#7f7f7f"
35 |     }
36 |   }
37 | }
38 | 


--------------------------------------------------------------------------------
/src/components/shapes/index.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var drawModule = require('./draw');
13 | 
14 | module.exports = {
15 |     moduleType: 'component',
16 |     name: 'shapes',
17 | 
18 |     layoutAttributes: require('./attributes'),
19 |     supplyLayoutDefaults: require('./defaults'),
20 | 
21 |     calcAutorange: require('./calc_autorange'),
22 |     draw: drawModule.draw,
23 |     drawOne: drawModule.drawOne
24 | };
25 | 


--------------------------------------------------------------------------------
/src/traces/surface/calc.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var colorscaleCalc = require('../../components/colorscale/calc');
13 | 
14 | 
15 | // Compute auto-z and autocolorscale if applicable
16 | module.exports = function calc(gd, trace) {
17 |     if(trace.surfacecolor) {
18 |         colorscaleCalc(trace, trace.surfacecolor, '', 'c');
19 |     } else {
20 |         colorscaleCalc(trace, trace.z, '', 'c');
21 |     }
22 | };
23 | 


--------------------------------------------------------------------------------
/tasks/test_image.js:
--------------------------------------------------------------------------------
 1 | var constants = require('./util/constants');
 2 | var common = require('./util/common');
 3 | var containerCommands = require('./util/container_commands');
 4 | 
 5 | var msg = [
 6 |     'Running image comparison tests using build/plotly.js from',
 7 |     common.getTimeLastModified(constants.pathToPlotlyBuild),
 8 |     '\n'
 9 | ].join(' ');
10 | 
11 | var cmd = containerCommands.getRunCmd(
12 |     process.env.CIRCLECI,
13 |     'node test/image/compare_pixels_test.js ' + process.argv.slice(2).join(' ')
14 | );
15 | 
16 | console.log(msg);
17 | common.execCmd(containerCommands.ping, function() {
18 |     common.execCmd(cmd);
19 | });
20 | 


--------------------------------------------------------------------------------
/test/image/mocks/colorbar_tickformat.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "type": "contour",
 5 |             "z": [
 6 |                 ["0", "2e6"],
 7 |                 ["2e6", "3e7"]
 8 |             ],
 9 |             "colorbar": {
10 |                 "tickformat": ",.1f",
11 |                 "tickprefix": "*** ",
12 |                 "showtickprefix": "first",
13 |                 "ticksuffix": " €",
14 |                 "showticksuffix": "last"
15 |             }
16 |         }
17 |     ],
18 |     "layout": {
19 |         "width": 500,
20 |         "height": 400,
21 |         "title": "colorbar tickformat"
22 |     }
23 | }
24 | 


--------------------------------------------------------------------------------
/test/image/mocks/error_bar_asymmetric_array.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         1,
 6 |         2,
 7 |         3,
 8 |         4
 9 |       ],
10 |       "y": [
11 |         2,
12 |         1,
13 |         3,
14 |         4
15 |       ],
16 |       "error_y": {
17 |         "type": "data",
18 |         "symmetric": false,
19 |         "array": [
20 |           0.1,
21 |           0.2,
22 |           0.1,
23 |           0.1
24 |         ],
25 |         "arrayminus": [
26 |           0.2,
27 |           0.4,
28 |           1,
29 |           0.2
30 |         ]
31 |       },
32 |       "type": "scatter"
33 |     }
34 |   ]
35 | }
36 | 


--------------------------------------------------------------------------------
/src/components/rangeselector/index.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | module.exports = {
12 |     moduleType: 'component',
13 |     name: 'rangeselector',
14 | 
15 |     schema: {
16 |         layout: {
17 |             'xaxis.rangeselector': require('./attributes')
18 |         }
19 |     },
20 | 
21 |     layoutAttributes: require('./attributes'),
22 |     handleDefaults: require('./defaults'),
23 | 
24 |     draw: require('./draw')
25 | };
26 | 


--------------------------------------------------------------------------------
/test/image/mocks/bar_group_percent.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data":[
 3 |         {"name":"Col1","y":["1","2","3","4","5"],"x":["1","2","3","4","5"],"type":"bar","uid":"aeb9ea"},
 4 |         {"name":"Col2","y":["2","3","4","3","2"],"x":["1","2","3","4","5"],"type":"bar","uid":"2f201d"},
 5 |         {"name":"Col3","y":["5","4","3","2","1"],"x":["1","2","3","4","5"],"type":"bar","uid":"aef0bf"},
 6 |         {"name":"Col4","y":["-1","0","1","0","-1"],"x":["1","2","3","4","5"],"type":"bar","uid":"330b4d"}
 7 |     ],
 8 |     "layout":{
 9 |         "height":400,
10 |         "width":400,
11 |         "barmode":"group",
12 |         "barnorm":"percent"
13 |     }
14 | }
15 | 


--------------------------------------------------------------------------------
/test/image/mocks/tickformat.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "x": ["2005-01","2005-02","2005-03","2005-04","2005-05","2005-06","2005-07"],
 5 |             "y": [1e5,1e5,2e6,2e6,2e6,3e7,3e7]
 6 |         }
 7 |     ],
 8 |     "layout": {
 9 |         "title": "tickformat",
10 |         "xaxis": {
11 |             "tickformat": "%b %y",
12 |             "tickprefix": "~~ ",
13 |             "showtickprefix": "first",
14 |             "ticksuffix": " !!",
15 |             "showticksuffix": "last"
16 |         },
17 |         "yaxis": {
18 |             "type": "log",
19 |             "tickformat": ":^+12.3g"
20 |         }
21 |     }
22 | }
23 | 


--------------------------------------------------------------------------------
/lib/index-cartesian.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 Plotly = require('./core');
12 | 
13 | Plotly.register([
14 |     require('./bar'),
15 |     require('./box'),
16 |     require('./heatmap'),
17 |     require('./histogram'),
18 |     require('./histogram2d'),
19 |     require('./histogram2dcontour'),
20 |     require('./pie'),
21 |     require('./contour'),
22 |     require('./scatterternary')
23 | ]);
24 | 
25 | module.exports = Plotly;
26 | 


--------------------------------------------------------------------------------
/test/image/mocks/contour_nolines.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data":[{
 3 |     "contours":{"coloring":"fill","showlines":false},
 4 |     "z":[["1",""],["2",""],["3",""],["3",""],["4",""],["5",""],["6",""],["5",""],["2",""],["3",""],["3",""],["5",""],["6",""],["5",""],["4","1"],["4","2"],["2","3"],["1","4"],["3","5"],["2","4"],["1","3"],["3","2"],["5","3"],["4","4"],["3","3"],["2","2"],["1","1"],["2","2"],["3","3"],["4","4"],["5","6"],["4","5"],["3","4"],["2","3"],["3","2"],["2","3"],["3","4"],["3","3"],["3","2"]],
 5 |     "type":"contour"
 6 |   }],
 7 |   "layout":{
 8 |     "showlegend":false,
 9 |     "autosize":false,
10 |     "height":400,
11 |     "width":400
12 |   }
13 | }
14 | 


--------------------------------------------------------------------------------
/test/image/mocks/gl2d_axes_range_mode.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "x": [
 5 |                 2,
 6 |                 4,
 7 |                 6
 8 |             ],
 9 |             "y": [
10 |                 -3,
11 |                 0,
12 |                 3
13 |             ],
14 |             "type": "scattergl"
15 |         }
16 |     ],
17 |     "layout": {
18 |         "showlegend": false,
19 |         "xaxis": {
20 |             "autorange": true,
21 |             "rangemode": "tozero"
22 |         },
23 |         "yaxis": {
24 |             "autorange": true,
25 |             "rangemode": "nonnegative"
26 |         }
27 |     }
28 | }
29 | 


--------------------------------------------------------------------------------
/test/image/mocks/gl2d_parcoords_1.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "layout": {
 3 |     "width": 284,
 4 |     "height": 400
 5 |   },
 6 | 
 7 |   "data": [{
 8 | 
 9 |     "type": "parcoords",
10 | 
11 |     "line": {
12 |       "showscale": true,
13 |       "reversescale": true,
14 |       "colorscale": "Jet",
15 |       "cmin": -4000,
16 |       "cmax": -100,
17 |       "color": [-41, -1317, -164, -1856, -79, -931, -191, -2983, -341, -3846]
18 |     },
19 | 
20 |     "dimensions": [
21 |       {
22 |         "constraintrange": [200, 700],
23 |         "label": "Block height",
24 |         "values": [321, 534, 542, 674, 31, 674, 124, 246, 456, 743]
25 |       }
26 |     ]
27 |   }]
28 | }
29 | 


--------------------------------------------------------------------------------
/src/css/_cursor.scss:
--------------------------------------------------------------------------------
 1 | .cursor-pointer { cursor: pointer; }
 2 | .cursor-crosshair { cursor: crosshair; }
 3 | .cursor-move { cursor: move; }
 4 | .cursor-col-resize { cursor: col-resize; }
 5 | .cursor-row-resize { cursor: row-resize; }
 6 | .cursor-ns-resize { cursor: ns-resize; }
 7 | .cursor-ew-resize { cursor: ew-resize; }
 8 | .cursor-sw-resize { cursor: sw-resize; }
 9 | .cursor-s-resize { cursor: s-resize; }
10 | .cursor-se-resize { cursor: se-resize; }
11 | .cursor-w-resize { cursor: w-resize; }
12 | .cursor-e-resize { cursor: e-resize; }
13 | .cursor-nw-resize { cursor: nw-resize; }
14 | .cursor-n-resize { cursor: n-resize; }
15 | .cursor-ne-resize { cursor: ne-resize; }
16 | 


--------------------------------------------------------------------------------
/src/snapshot/index.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var helpers = require('./helpers');
13 | 
14 | var Snapshot = {
15 |     getDelay: helpers.getDelay,
16 |     getRedrawFunc: helpers.getRedrawFunc,
17 |     clone: require('./cloneplot'),
18 |     toSVG: require('./tosvg'),
19 |     svgToImg: require('./svgtoimg'),
20 |     toImage: require('./toimage'),
21 |     downloadImage: require('./download')
22 | };
23 | 
24 | module.exports = Snapshot;
25 | 


--------------------------------------------------------------------------------
/test/image/mocks/gl3d_log-axis-big.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [{
 3 |     "type": "scatter3d",
 4 |     "mode": "lines",
 5 |     "x": [0.0000001, 1,100,10000, 1000000],
 6 |     "y": [1,2,3,4,5],
 7 |     "z": [3,3,3,3,3],
 8 |     "line": {
 9 |       "width": 6
10 |     }
11 |   },{
12 |     "type": "scatter3d",
13 |     "mode": "lines",
14 |     "x": [1,2,3,4,5],
15 |     "y": [3,2,1, 0, -1],
16 |     "z": [3,3,3, 3, 3],
17 |     "line": {
18 |       "width": 20
19 |     }
20 |   }],
21 |   "layout": {
22 |     "title": "test",
23 |     "scene": {
24 |       "xaxis": {
25 |         "title": "foobar",
26 |         "type": "log"
27 |       }
28 |     }
29 |   }
30 | }
31 | 


--------------------------------------------------------------------------------
/test/image/mocks/pie_style.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "values": [
 5 |         10,
 6 |         11,
 7 |         12,
 8 |         13,
 9 |         14,
10 |         15,
11 |         16,
12 |         17,
13 |         18,
14 |         19,
15 |         20
16 |       ],
17 |       "hole": 0.5,
18 |       "rotation": 45,
19 |       "marker": {
20 |         "line": {
21 |           "color": "#fff",
22 |           "width": 3
23 |         }
24 |       },
25 |       "pull": 0.2,
26 |       "type": "pie"
27 |     }
28 |   ],
29 |   "layout": {
30 |     "height": 400,
31 |     "width": 500,
32 |     "paper_bgcolor": "#ddd",
33 |     "showlegend": false
34 |   }
35 | }
36 | 


--------------------------------------------------------------------------------
/src/plot_api/set_plot_config.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | var Plotly = require('../plotly');
13 | var Lib = require('../lib');
14 | 
15 | /**
16 |  * Extends the plot config
17 |  *
18 |  * @param {object} configObj partial plot configuration object
19 |  *      to extend the current plot configuration.
20 |  *
21 |  */
22 | module.exports = function setPlotConfig(configObj) {
23 |     return Lib.extendFlat(Plotly.defaultConfig, configObj);
24 | };
25 | 


--------------------------------------------------------------------------------
/test/image/mocks/bar_attrs_group_norm.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data":[
 3 |         {
 4 |             "text":"50%",
 5 |             "textposition":"inside",
 6 |             "outsidetextfont": {"size":32},
 7 |             "base":[100,40,25,10],
 8 |             "x":[-50,10,25,40],
 9 |             "type":"bar"
10 |         }, {
11 |             "text":"50%",
12 |             "textposition":"outside",
13 |             "base":[0,60,75,90],
14 |             "x":[50,-10,-25,-40],
15 |             "type":"bar"
16 |         }
17 |     ],
18 |     "layout":{
19 |         "height":400,
20 |         "width":400,
21 |         "barmode":"group",
22 |         "barnorm":"fraction"
23 |     }
24 | }
25 | 


--------------------------------------------------------------------------------
/test/image/mocks/tick_prefix_suffix.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data": [
 3 |         {
 4 |             "x": [1,2,3,4,5,6,7],
 5 |             "y": [1e5,1e5,2e6,2e6,2e6,3e7,3e7],
 6 |             "line": {
 7 |                 "shape": "spline"
 8 |             }
 9 |         }
10 |     ],
11 |     "layout": {
12 |         "title": "tick label prefix and suffix",
13 |         "xaxis": {
14 |             "tickprefix": "-> ",
15 |             "ticksuffix": " s"
16 |         },
17 |         "yaxis": {
18 |             "tickprefix": "*** ",
19 |             "showtickprefix": "first",
20 |             "ticksuffix": " €",
21 |             "showticksuffix": "last"
22 |         }
23 |     }
24 | }
25 | 


--------------------------------------------------------------------------------
/src/constants/xmlns_namespaces.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
10 | 'use strict';
11 | 
12 | 
13 | exports.xmlns = 'http://www.w3.org/2000/xmlns/';
14 | exports.svg = 'http://www.w3.org/2000/svg';
15 | exports.xlink = 'http://www.w3.org/1999/xlink';
16 | 
17 | // the 'old' d3 quirk got fix in v3.5.7
18 | // https://github.com/mbostock/d3/commit/a6f66e9dd37f764403fc7c1f26be09ab4af24fed
19 | exports.svgAttrs = {
20 |     xmlns: exports.svg,
21 |     'xmlns:xlink': exports.xlink
22 | };
23 | 


--------------------------------------------------------------------------------
/test/image/mocks/bar_line.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": [
 3 |     {
 4 |       "x": [
 5 |         0,
 6 |         1,
 7 |         2,
 8 |         3,
 9 |         4,
10 |         5
11 |       ],
12 |       "y": [
13 |         1.5,
14 |         1,
15 |         1.3,
16 |         0.7,
17 |         0.8,
18 |         0.9
19 |       ],
20 |       "type": "scatter"
21 |     },
22 |     {
23 |       "x": [
24 |         0,
25 |         1,
26 |         2,
27 |         3,
28 |         4,
29 |         5
30 |       ],
31 |       "y": [
32 |         1,
33 |         0.5,
34 |         0.7,
35 |         -1.2,
36 |         0.3,
37 |         0.4
38 |       ],
39 |       "type": "bar"
40 |     }
41 |   ]
42 | }
43 | 


--------------------------------------------------------------------------------
/src/components/rangeselector/constants.js:
--------------------------------------------------------------------------------
 1 | /**
 2 | * Copyright 2012-2017, 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 | 
12 | module.exports = {
13 | 
14 |     // 'y' position pad above counter axis domain
15 |     yPad: 0.02,
16 | 
17 |     // minimum button width (regardless of text size)
18 |     minButtonWidth: 30,
19 | 
20 |     // buttons rect radii
21 |     rx: 3,
22 |     ry: 3,
23 | 
24 |     // light fraction used to compute the 'activecolor' default
25 |     lightAmount: 25,
26 |     darkAmount: 10
27 | };
28 | 


--------------------------------------------------------------------------------
/test/image/mocks/pseudo_html.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "data":[{
 3 |         "x":["b   i","line 1
line 2"], 4 | "y":["sub1","sup2"], 5 | "name":"test pseudoHTML
3H2O is heavy!
and Fonts,
oh my?" 6 | }], 7 | "layout":{ 8 | "xaxis": {"title":"multiline title
with a link and spaces"}, 9 | "yaxis": {"title":"y23 or something"}, 10 | "showlegend":true, 11 | "height":300, 12 | "width":400 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/image/mocks/gl3d_tet.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "type":"mesh3d", 5 | "y":[0, 0, 1, 2], 6 | "x":[0, 1, 2, 0], 7 | "z":[0, 2, 0, 1], 8 | "i":[0, 0, 0, 1], 9 | "j":[1, 2, 3, 2], 10 | "k":[2, 3, 1, 3], 11 | "facecolor": [ 12 | "rgb(0, 0, 0)", 13 | "rgb(255, 0, 0)", 14 | "rgb(0, 255, 0)", 15 | "rgb(0, 0, 255)" 16 | ] 17 | }], 18 | "layout": { 19 | "title": "Tetrahedra", 20 | "scene": { 21 | "camera": { 22 | "eye": { 23 | "x": 1.5, 24 | "y": -1.5, 25 | "z": 0.5 26 | } 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/components/rangeslider/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | module.exports = { 12 | moduleType: 'component', 13 | name: 'rangeslider', 14 | 15 | schema: { 16 | layout: { 17 | 'xaxis.rangeslider': require('./attributes') 18 | } 19 | }, 20 | 21 | layoutAttributes: require('./attributes'), 22 | handleDefaults: require('./defaults'), 23 | calcAutorange: require('./calc_autorange'), 24 | draw: require('./draw') 25 | }; 26 | -------------------------------------------------------------------------------- /src/plots/polar/area_attributes.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 scatterAttrs = require('../../traces/scatter/attributes'); 12 | var scatterMarkerAttrs = scatterAttrs.marker; 13 | 14 | module.exports = { 15 | r: scatterAttrs.r, 16 | t: scatterAttrs.t, 17 | marker: { 18 | color: scatterMarkerAttrs.color, 19 | size: scatterMarkerAttrs.size, 20 | symbol: scatterMarkerAttrs.symbol, 21 | opacity: scatterMarkerAttrs.opacity 22 | } 23 | }; 24 | -------------------------------------------------------------------------------- /src/lib/setcursor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | 10 | 'use strict'; 11 | 12 | // works with our CSS cursor classes (see css/_cursor.scss) 13 | // to apply cursors to d3 single-element selections. 14 | // omit cursor to revert to the default. 15 | module.exports = function setCursor(el3, csr) { 16 | (el3.attr('class') || '').split(' ').forEach(function(cls) { 17 | if(cls.indexOf('cursor-') === 0) el3.classed(cls, false); 18 | }); 19 | 20 | if(csr) el3.classed('cursor-' + csr, true); 21 | }; 22 | -------------------------------------------------------------------------------- /test/image/mocks/scatter_fill_self_next.json: -------------------------------------------------------------------------------- 1 | { 2 | "data":[ 3 | { 4 | "x": [1, 2, 3, 1, null, 4, 5, 6], 5 | "y": [2, 3, 2, 2, null, 3, 4, 3], 6 | "fill": "tonext", 7 | "line":{"shape": "spline"} 8 | }, 9 | { 10 | "x": [-1, 4, 9, null, 0, 1, 2], 11 | "y": [1, 6, 1, null, 5, 6, 5], 12 | "fill": "tonext" 13 | }, 14 | { 15 | "x": [6, 7, 8], 16 | "y": [5, 6, 5], 17 | "fill": "toself" 18 | } 19 | ], 20 | "layout":{ 21 | "title": "Fill toself and tonext", 22 | "width": 400, 23 | "height": 400 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /test/jasmine/assets/modebar_button.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var d3 = require('d3'); 4 | 5 | var modeBarButtons = require('@src/components/modebar/buttons'); 6 | 7 | 8 | module.exports = function selectButton(modeBar, name) { 9 | var button = {}; 10 | 11 | var node = button.node = d3.select(modeBar.element) 12 | .select('[data-title="' + modeBarButtons[name].title + '"]') 13 | .node(); 14 | 15 | button.click = function() { 16 | var ev = new window.MouseEvent('click'); 17 | node.dispatchEvent(ev); 18 | }; 19 | 20 | button.isActive = function() { 21 | return d3.select(node).classed('active'); 22 | }; 23 | 24 | return button; 25 | }; 26 | -------------------------------------------------------------------------------- /src/components/shapes/defaults.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | 10 | 'use strict'; 11 | 12 | var handleArrayContainerDefaults = require('../../plots/array_container_defaults'); 13 | var handleShapeDefaults = require('./shape_defaults'); 14 | 15 | 16 | module.exports = function supplyLayoutDefaults(layoutIn, layoutOut) { 17 | var opts = { 18 | name: 'shapes', 19 | handleItemDefaults: handleShapeDefaults 20 | }; 21 | 22 | handleArrayContainerDefaults(layoutIn, layoutOut, opts); 23 | }; 24 | -------------------------------------------------------------------------------- /src/plots/geo/zoom_reset.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | 10 | 'use strict'; 11 | 12 | module.exports = function createGeoZoomReset(geo, geoLayout) { 13 | var projection = geo.projection, 14 | zoom = geo.zoom; 15 | 16 | var zoomReset = function() { 17 | geo.makeProjection(geoLayout); 18 | geo.makePath(); 19 | 20 | zoom.scale(projection.scale()); 21 | zoom.translate(projection.translate()); 22 | 23 | geo.render(); 24 | }; 25 | 26 | return zoomReset; 27 | }; 28 | -------------------------------------------------------------------------------- /test/jasmine/assets/get_node_coords.js: -------------------------------------------------------------------------------- 1 | /* 2 | * get the pixel coordinates of a node on screen 3 | * optionally specify an edge ('n', 'se', 'w' etc) 4 | * to return an edge or corner (otherwise the middle is used) 5 | */ 6 | module.exports = function(node, edge) { 7 | edge = edge || ''; 8 | var bbox = node.getBoundingClientRect(), 9 | x, y; 10 | 11 | if(edge.indexOf('n') !== -1) y = bbox.top; 12 | else if(edge.indexOf('s') !== -1) y = bbox.bottom; 13 | else y = (bbox.bottom + bbox.top) / 2; 14 | 15 | if(edge.indexOf('w') !== -1) x = bbox.left; 16 | else if(edge.indexOf('e') !== -1) x = bbox.right; 17 | else x = (bbox.left + bbox.right) / 2; 18 | 19 | return {x: x, y: y}; 20 | }; 21 | -------------------------------------------------------------------------------- /src/components/annotations/defaults.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | 10 | 'use strict'; 11 | 12 | var handleArrayContainerDefaults = require('../../plots/array_container_defaults'); 13 | var handleAnnotationDefaults = require('./annotation_defaults'); 14 | 15 | 16 | module.exports = function supplyLayoutDefaults(layoutIn, layoutOut) { 17 | var opts = { 18 | name: 'annotations', 19 | handleItemDefaults: handleAnnotationDefaults 20 | }; 21 | 22 | handleArrayContainerDefaults(layoutIn, layoutOut, opts); 23 | }; 24 | -------------------------------------------------------------------------------- /src/traces/ohlc/direction_defaults.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | 10 | 'use strict'; 11 | 12 | 13 | module.exports = function handleDirectionDefaults(traceIn, traceOut, coerce, direction) { 14 | coerce(direction + '.showlegend'); 15 | 16 | // trace-wide *showlegend* overrides direction *showlegend* 17 | if(traceIn.showlegend === false) { 18 | traceOut[direction].showlegend = false; 19 | } 20 | 21 | var nameDflt = traceOut.name + ' - ' + direction; 22 | 23 | coerce(direction + '.name', nameDflt); 24 | }; 25 | -------------------------------------------------------------------------------- /test/image/mocks/gl3d_multi-scene.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [{ 3 | "type": "scatter3d", 4 | "x": [1], 5 | "y": [1], 6 | "z": [1], 7 | "marker": { 8 | "color": "blue" 9 | }, 10 | "scene": "scene1" 11 | },{ 12 | "type": "scatter3d", 13 | "x": [2], 14 | "y": [2], 15 | "z": [2], 16 | "marker": { 17 | "color": "red" 18 | }, 19 | "scene": "scene2" 20 | }], 21 | "layout": { 22 | "title": "scene should be the same as scene1", 23 | "scene1": { 24 | "domain": { 25 | "x": [0, 0.5], 26 | "y": [0, 0.5] 27 | } 28 | }, 29 | "scene2": { 30 | "domain": { 31 | "x": [0.5, 1], 32 | "y": [0.5, 1] 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /test/image/mocks/size_margins.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "x": [ 5 | 0, 6 | 1, 7 | 2, 8 | 3, 9 | 4, 10 | 5, 11 | 6, 12 | 7, 13 | 8 14 | ], 15 | "y": [ 16 | 0, 17 | 1, 18 | 2, 19 | 3, 20 | 4, 21 | 5, 22 | 6, 23 | 7, 24 | 8 25 | ], 26 | "type": "scatter" 27 | } 28 | ], 29 | "layout": { 30 | "autosize": false, 31 | "width": 500, 32 | "height": 500, 33 | "margin": { 34 | "l": 50, 35 | "r": 50, 36 | "b": 100, 37 | "t": 100, 38 | "pad": 4 39 | }, 40 | "paper_bgcolor": "#7f7f7f", 41 | "plot_bgcolor": "#c7c7c7" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/lib/filter_visible.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | 10 | 'use strict'; 11 | 12 | /** Filter out object items with visible !== true 13 | * insider array container. 14 | * 15 | * @param {array of objects} container 16 | * @return {array of objects} of length <= container 17 | * 18 | */ 19 | module.exports = function filterVisible(container) { 20 | var out = []; 21 | 22 | for(var i = 0; i < container.length; i++) { 23 | var item = container[i]; 24 | 25 | if(item.visible === true) out.push(item); 26 | } 27 | 28 | return out; 29 | }; 30 | -------------------------------------------------------------------------------- /test/image/mocks/labelled_heatmap.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "z": [ 5 | [ 6 | 1, 7 | 20, 8 | 30, 9 | 50, 10 | 1 11 | ], 12 | [ 13 | 20, 14 | 1, 15 | 60, 16 | 80, 17 | 30 18 | ], 19 | [ 20 | 30, 21 | 60, 22 | 1, 23 | -10, 24 | 20 25 | ] 26 | ], 27 | "x": [ 28 | "Monday", 29 | "Tuesday", 30 | "Wednesday", 31 | "Thursday", 32 | "Friday" 33 | ], 34 | "y": [ 35 | "Morning", 36 | "Afternoon", 37 | "Evening" 38 | ], 39 | "type": "heatmap" 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/plots/ternary/layout/attributes.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | 12 | module.exports = { 13 | subplot: { 14 | valType: 'subplotid', 15 | role: 'info', 16 | dflt: 'ternary', 17 | description: [ 18 | 'Sets a reference between this trace\'s data coordinates and', 19 | 'a ternary subplot.', 20 | 'If *ternary* (the default value), the data refer to `layout.ternary`.', 21 | 'If *ternary2*, the data refer to `layout.ternary2`, and so on.' 22 | ].join(' ') 23 | } 24 | }; 25 | -------------------------------------------------------------------------------- /test/image/mocks/bar_bargap0.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "x": [ 5 | "giraffes", 6 | "orangutans", 7 | "monkeys" 8 | ], 9 | "y": [ 10 | 20, 11 | 14, 12 | 23 13 | ], 14 | "name": "SF Zoo", 15 | "type": "bar" 16 | } 17 | ], 18 | "layout": { 19 | "bargap": 0, 20 | "xaxis": { 21 | "type": "category", 22 | "range": [ 23 | -0.5, 24 | 2.5 25 | ], 26 | "autorange": true 27 | }, 28 | "yaxis": { 29 | "type": "linear", 30 | "range": [ 31 | 0, 32 | 24.210526315789473 33 | ], 34 | "autorange": true 35 | }, 36 | "height": 450, 37 | "width": 1100, 38 | "autosize": false 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/fonts/mathjax_config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012-2017, 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 | /* global MathJax:false */ 12 | 13 | /** 14 | * Check and configure MathJax 15 | */ 16 | if(typeof MathJax !== 'undefined') { 17 | exports.MathJax = true; 18 | 19 | MathJax.Hub.Config({ 20 | messageStyle: 'none', 21 | skipStartupTypeset: true, 22 | displayAlign: 'left', 23 | tex2jax: { 24 | inlineMath: [['$', '$'], ['\\(', '\\)']] 25 | } 26 | }); 27 | 28 | MathJax.Hub.Configured(); 29 | } else { 30 | exports.MathJax = false; 31 | } 32 | --------------------------------------------------------------------------------