Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wip] - ipyplotly fixes #956

Closed
wants to merge 15 commits into from
Closed

[wip] - ipyplotly fixes #956

wants to merge 15 commits into from

Conversation

chriddyp
Copy link
Member

@chriddyp chriddyp commented Mar 5, 2018

working off of #942

Jon M. Mease and others added 13 commits February 17, 2018 11:01
New codegen logic in codegen/
New datatype classes generated into plotly/datatypes/ (These are gitignored)
New validator classes generated into plotly/validators/ (These are gitignored)

Code generation in update_graph_objs.py modified to map Figure, Layout, and Trace types to new plotly/datatypes/ classes. All other classes mapped to raw dicts/lists.
It's now possible to execute a fair amount of legacy graph construction and plotting code
TODO: add support for datetime arrays in validation and in widget serialization
Added js/ directory containing front-end widget library
Added graph_objs.FigureWidget class that maps to datatypes.FigureWidget
These are mostly just for discussion during the WIP integration process.
we’ll end up adding a lot of this stuff back at the end. for now, let’s
just only test python 35
use same versions as what is specified in `optional`.

ultimately, we’ll want to remove these and only include them for the
‘build’ environment
@chriddyp
Copy link
Member Author

chriddyp commented Mar 6, 2018

Test Results

$ nosetests -w plotly/tests -v
test_data_and_kwargs (plotly.tests.test_core.test_api.test_v1.test_clientresp.ClientrespTest) ... ok
test_data_only (plotly.tests.test_core.test_api.test_v1.test_clientresp.ClientrespTest) ... ok
test_normal_auth (plotly.tests.test_core.test_api.test_v1.test_utils.GetHeadersTest) ... ok
test_proxy_auth (plotly.tests.test_core.test_api.test_v1.test_utils.GetHeadersTest) ... ok
test_request_validate_response (plotly.tests.test_core.test_api.test_v1.test_utils.RequestTest) ... ok
test_request_with_ConnectionError (plotly.tests.test_core.test_api.test_v1.test_utils.RequestTest) ... ok
test_request_with_json (plotly.tests.test_core.test_api.test_v1.test_utils.RequestTest) ... ok
test_validate_json_content_array (plotly.tests.test_core.test_api.test_v1.test_utils.ValidateResponseTest) ... ok
test_validate_json_content_dict_error_empty (plotly.tests.test_core.test_api.test_v1.test_utils.ValidateResponseTest) ... ok
test_validate_json_content_dict_no_error (plotly.tests.test_core.test_api.test_v1.test_utils.ValidateResponseTest) ... ok
test_validate_json_content_dict_one_error_ok (plotly.tests.test_core.test_api.test_v1.test_utils.ValidateResponseTest) ... ok
test_validate_no_content (plotly.tests.test_core.test_api.test_v1.test_utils.ValidateResponseTest) ... ok
test_validate_non_json_content (plotly.tests.test_core.test_api.test_v1.test_utils.ValidateResponseTest) ... ok
test_validate_not_ok (plotly.tests.test_core.test_api.test_v1.test_utils.ValidateResponseTest) ... ok
test_validate_ok (plotly.tests.test_core.test_api.test_v1.test_utils.ValidateResponseTest) ... ok
test_lookup (plotly.tests.test_core.test_api.test_v2.test_files.FilesTest) ... ok
test_permanent_delete (plotly.tests.test_core.test_api.test_v2.test_files.FilesTest) ... ok
test_restore (plotly.tests.test_core.test_api.test_v2.test_files.FilesTest) ... ok
test_retrieve (plotly.tests.test_core.test_api.test_v2.test_files.FilesTest) ... ok
test_retrieve_share_key (plotly.tests.test_core.test_api.test_v2.test_files.FilesTest) ... ok
test_trash (plotly.tests.test_core.test_api.test_v2.test_files.FilesTest) ... ok
test_update (plotly.tests.test_core.test_api.test_v2.test_files.FilesTest) ... ok
test_create (plotly.tests.test_core.test_api.test_v2.test_folders.FoldersTest) ... ok
test_lookup (plotly.tests.test_core.test_api.test_v2.test_folders.FoldersTest) ... ok
test_permanent_delete (plotly.tests.test_core.test_api.test_v2.test_folders.FoldersTest) ... ok
test_restore (plotly.tests.test_core.test_api.test_v2.test_folders.FoldersTest) ... ok
test_retrieve (plotly.tests.test_core.test_api.test_v2.test_folders.FoldersTest) ... ok
test_retrieve_share_key (plotly.tests.test_core.test_api.test_v2.test_folders.FoldersTest) ... ok
test_trash (plotly.tests.test_core.test_api.test_v2.test_folders.FoldersTest) ... ok
test_update (plotly.tests.test_core.test_api.test_v2.test_folders.FoldersTest) ... ok
test_col_create (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_col_delete (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_col_retrieve (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_col_update (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_create (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_lookup (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_permanent_delete (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_restore (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_retrieve (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_retrieve_share_key (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_row (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_trash (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_update (plotly.tests.test_core.test_api.test_v2.test_grids.GridsTest) ... ok
test_create (plotly.tests.test_core.test_api.test_v2.test_images.ImagesTest) ... ok
test_retrieve (plotly.tests.test_core.test_api.test_v2.test_plot_schema.PlotSchemaTest) ... ok
test_create (plotly.tests.test_core.test_api.test_v2.test_plots.PlotsTest) ... ok
test_lookup (plotly.tests.test_core.test_api.test_v2.test_plots.PlotsTest) ... ok
test_permanent_delete (plotly.tests.test_core.test_api.test_v2.test_plots.PlotsTest) ... ok
test_restore (plotly.tests.test_core.test_api.test_v2.test_plots.PlotsTest) ... ok
test_retrieve (plotly.tests.test_core.test_api.test_v2.test_plots.PlotsTest) ... ok
test_retrieve_share_key (plotly.tests.test_core.test_api.test_v2.test_plots.PlotsTest) ... ok
test_trash (plotly.tests.test_core.test_api.test_v2.test_plots.PlotsTest) ... ok
test_update (plotly.tests.test_core.test_api.test_v2.test_plots.PlotsTest) ... ok
test_current (plotly.tests.test_core.test_api.test_v2.test_users.UsersTest) ... ok
test_build_url (plotly.tests.test_core.test_api.test_v2.test_utils.BuildUrlTest) ... ok
test_build_url_id (plotly.tests.test_core.test_api.test_v2.test_utils.BuildUrlTest) ... ok
test_build_url_id_route (plotly.tests.test_core.test_api.test_v2.test_utils.BuildUrlTest) ... ok
test_build_url_route (plotly.tests.test_core.test_api.test_v2.test_utils.BuildUrlTest) ... ok
test_normal_auth (plotly.tests.test_core.test_api.test_v2.test_utils.GetHeadersTest) ... ok
test_proxy_auth (plotly.tests.test_core.test_api.test_v2.test_utils.GetHeadersTest) ... ok
test_make_params (plotly.tests.test_core.test_api.test_v2.test_utils.MakeParamsTest) ... ok
test_make_params_empty (plotly.tests.test_core.test_api.test_v2.test_utils.MakeParamsTest) ... ok
test_request_validate_response (plotly.tests.test_core.test_api.test_v2.test_utils.RequestTest) ... ok
test_request_with_ConnectionError (plotly.tests.test_core.test_api.test_v2.test_utils.RequestTest) ... ok
test_request_with_non_native_objects (plotly.tests.test_core.test_api.test_v2.test_utils.RequestTest) ... ok
test_request_with_params (plotly.tests.test_core.test_api.test_v2.test_utils.RequestTest) ... ok
test_validate_json_content_array (plotly.tests.test_core.test_api.test_v2.test_utils.ValidateResponseTest) ... ok
test_validate_json_content_dict_multiple_errors (plotly.tests.test_core.test_api.test_v2.test_utils.ValidateResponseTest) ... ok
test_validate_json_content_dict_no_errors (plotly.tests.test_core.test_api.test_v2.test_utils.ValidateResponseTest) ... ok
test_validate_json_content_dict_one_error_bad (plotly.tests.test_core.test_api.test_v2.test_utils.ValidateResponseTest) ... ok
test_validate_json_content_dict_one_error_ok (plotly.tests.test_core.test_api.test_v2.test_utils.ValidateResponseTest) ... ok
test_validate_no_content (plotly.tests.test_core.test_api.test_v2.test_utils.ValidateResponseTest) ... ok
test_validate_non_json_content (plotly.tests.test_core.test_api.test_v2.test_utils.ValidateResponseTest) ... ok
test_validate_not_ok (plotly.tests.test_core.test_api.test_v2.test_utils.ValidateResponseTest) ... ok
test_validate_ok (plotly.tests.test_core.test_api.test_v2.test_utils.ValidateResponseTest) ... ok
test_convert_colors_to_same_type (plotly.tests.test_core.test_colors.test_colors.TestColors) ... ok
test_convert_dict_colors_to_same_type (plotly.tests.test_core.test_colors.test_colors.TestColors) ... ok
test_make_colorscale (plotly.tests.test_core.test_colors.test_colors.TestColors) ... ok
test_validate_colors (plotly.tests.test_core.test_colors.test_colors.TestColors) ... ok
test_validate_scale_values (plotly.tests.test_core.test_colors.test_colors.TestColors) ... ok
test_box_id_none (plotly.tests.test_core.test_dashboard.test_dashboard.TestDashboard) ... ok
test_dashboard_dict (plotly.tests.test_core.test_dashboard.test_dashboard.TestDashboard) ... ok
test_id_not_valid (plotly.tests.test_core.test_dashboard.test_dashboard.TestDashboard) ... ok
test_invalid_path (plotly.tests.test_core.test_dashboard.test_dashboard.TestDashboard) ... ok
test_invalid_side (plotly.tests.test_core.test_dashboard.test_dashboard.TestDashboard) ... ok
test_create_folder (plotly.tests.test_core.test_file.test_file.FolderAPITestCase) ... ok
test_create_nested_folders (plotly.tests.test_core.test_file.test_file.FolderAPITestCase) ... ok
test_duplicate_folders (plotly.tests.test_core.test_file.test_file.FolderAPITestCase) ... ok
test_get_figure (plotly.tests.test_core.test_get_figure.test_get_figure.GetFigureTest) ... ERROR
test_get_figure_does_not_exist (plotly.tests.test_core.test_get_figure.test_get_figure.GetFigureTest) ... ok
test_get_figure_invalid_1 (plotly.tests.test_core.test_get_figure.test_get_figure.GetFigureTest) ... ok
test_get_figure_invalid_2 (plotly.tests.test_core.test_get_figure.test_get_figure.GetFigureTest) ... ok
test_get_figure_raw (plotly.tests.test_core.test_get_figure.test_get_figure.GetFigureTest) ... ok
test_get_figure_with_url (plotly.tests.test_core.test_get_figure.test_get_figure.GetFigureTest) ... ERROR
test_proper_escaping (plotly.tests.test_core.test_get_figure.test_get_figure.TestBytesVStrings) ... ERROR
test_file_does_not_exist (plotly.tests.test_core.test_get_requests.test_get_requests.GetRequestsTest) ... ok
test_missing_headers (plotly.tests.test_core.test_get_requests.test_get_requests.GetRequestsTest) ... ok
test_private_permission_defined (plotly.tests.test_core.test_get_requests.test_get_requests.GetRequestsTest) ... ok
test_user_does_not_exist (plotly.tests.test_core.test_get_requests.test_get_requests.GetRequestsTest) ... ok
test_valid_request (plotly.tests.test_core.test_get_requests.test_get_requests.GetRequestsTest) ... ok
test_wrong_api_key (plotly.tests.test_core.test_get_requests.test_get_requests.GetRequestsTest) ... ok
plotly.tests.test_core.test_graph_objs.test_annotations.test_trivial ... ok
plotly.tests.test_core.test_graph_objs.test_annotations.test_weird_instantiation ... FAIL
plotly.tests.test_core.test_graph_objs.test_annotations.test_dict_instantiation ... ok
plotly.tests.test_core.test_graph_objs.test_annotations.test_dict_instantiation_key_error ... FAIL
plotly.tests.test_core.test_graph_objs.test_annotations.test_dict_instantiation_graph_obj_error_0 ... FAIL
plotly.tests.test_core.test_graph_objs.test_annotations.test_dict_instantiation_graph_obj_error_2 ... FAIL
plotly.tests.test_core.test_graph_objs.test_annotations.test_validate ... ERROR
plotly.tests.test_core.test_graph_objs.test_annotations.test_validate_error ... ERROR
plotly.tests.test_core.test_graph_objs.test_append_trace.test_print_grid_before_make_subplots ... ok
plotly.tests.test_core.test_graph_objs.test_append_trace.test_append_trace_before_make_subplots ... ok
plotly.tests.test_core.test_graph_objs.test_append_trace.test_append_trace_row_out_of_range ... ok
plotly.tests.test_core.test_graph_objs.test_append_trace.test_append_trace_col_out_of_range ... ok
plotly.tests.test_core.test_graph_objs.test_append_trace.test_append_scatter ... ERROR
plotly.tests.test_core.test_graph_objs.test_append_trace.test_append_scatter_after_deleting_xaxis ... ok
plotly.tests.test_core.test_graph_objs.test_append_trace.test_append_scatter_after_deleting_yaxis ... ok
plotly.tests.test_core.test_graph_objs.test_append_trace.test_append_scatter3d ... ERROR
plotly.tests.test_core.test_graph_objs.test_append_trace.test_append_scatter3d_after_deleting_scene ... ok
plotly.tests.test_core.test_graph_objs.test_data.test_trivial ... ok
plotly.tests.test_core.test_graph_objs.test_data.test_weird_instantiation ... FAIL
plotly.tests.test_core.test_graph_objs.test_data.test_default_scatter ... FAIL
plotly.tests.test_core.test_graph_objs.test_data.test_dict_instantiation ... ok
plotly.tests.test_core.test_graph_objs.test_data.test_dict_instantiation_key_error ... FAIL
plotly.tests.test_core.test_graph_objs.test_data.test_dict_instantiation_type_error ... FAIL
plotly.tests.test_core.test_graph_objs.test_data.test_dict_instantiation_graph_obj_error_0 ... FAIL
plotly.tests.test_core.test_graph_objs.test_data.test_dict_instantiation_graph_obj_error_2 ... FAIL
plotly.tests.test_core.test_graph_objs.test_data.test_validate ... ERROR
plotly.tests.test_core.test_graph_objs.test_data.test_validate_error ... ERROR
plotly.tests.test_core.test_graph_objs.test_error_bars.test_instantiate_error_x ... ok
plotly.tests.test_core.test_graph_objs.test_error_bars.test_instantiate_error_y ... ok
plotly.tests.test_core.test_graph_objs.test_error_bars.test_key_error ... FAIL
test_access_top_level (plotly.tests.test_core.test_graph_objs.test_figure.FigureTest) ... FAIL
test_instantiation (plotly.tests.test_core.test_graph_objs.test_figure.FigureTest) ... ERROR
test_nested_frames (plotly.tests.test_core.test_graph_objs.test_figure.FigureTest) ... ERROR
test_deeply_nested_data_attributes (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest) ... ERROR
test_deeply_nested_layout_attributes (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest) ... ERROR
test_frame_only_attrs (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest) ... ERROR
test_instantiation (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest) ... ok
test_non_string_frame (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest) ... FAIL
test_string_frame (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest) ... ERROR
test_flatten_repeated_trace_names (plotly.tests.test_core.test_graph_objs.test_get_data.TestGetData) ... ERROR
test_get_data (plotly.tests.test_core.test_graph_objs.test_get_data.TestGetData) ... ERROR
test_get_data_flatten (plotly.tests.test_core.test_graph_objs.test_get_data.TestGetData) ... ERROR
test_old_class_names (plotly.tests.test_core.test_graph_objs.test_graph_objs.TestBackwardsCompat) ... ok
test_no_new_classes (plotly.tests.test_core.test_graph_objs.test_graph_objs.TestGraphObjs) ... FAIL
test_traces_should_be_defined (plotly.tests.test_core.test_graph_objs.test_graph_objs.TestGraphObjs) ... FAIL
test_get_help_does_not_raise (plotly.tests.test_core.test_graph_objs.test_graph_objs_tools.TestGetHelp) ... ok
plotly.tests.test_core.test_graph_objs.test_plotly_base_classes.test_instantiate_plotly_dict ... ok
plotly.tests.test_core.test_graph_objs.test_plotly_base_classes.test_instantiate_plotly_list ... ok
plotly.tests.test_core.test_graph_objs.test_scatter.test_trivial ... FAIL
plotly.tests.test_core.test_graph_objs.test_scatter.test_validate ... ERROR
plotly.tests.test_core.test_graph_objs.test_scatter.test_validate_error ... ERROR
plotly.tests.test_core.test_graph_objs.test_strip_style.test_strip_style ... ERROR
plotly.tests.test_core.test_graph_objs.test_to_string.test_to_string ... ERROR
plotly.tests.test_core.test_graph_objs.test_to_string.test_nested_list ... ERROR
plotly.tests.test_core.test_graph_objs.test_update.test_update_dict ... ERROR
plotly.tests.test_core.test_graph_objs.test_update.test_update_list ... ERROR
plotly.tests.test_core.test_graph_objs.test_update.test_update_dict_empty ... ERROR
plotly.tests.test_core.test_graph_objs.test_update.test_update_list_empty ... ERROR
plotly.tests.test_core.test_graph_objs.test_update.test_update_list_make_copies_true ... ERROR
plotly.tests.test_core.test_graph_objs.test_update.test_update_list_make_copies_false ... SKIP: See https://github.com/plotly/python-api/issues/291
test_layout_attributes (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestGetAttributePathToObjectNames) ... ok
test_trace_attributes (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestGetAttributePathToObjectNames) ... ok
test_get_deprecated_attributes (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestGetAttributesMethods) ... ok
test_get_subplot_attributes (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestGetAttributesMethods) ... ok
test_get_role_no_value (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestGetRole) ... ok
test_get_role_with_value (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestGetRole) ... ok
test_default_schema_is_up_to_date (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestGraphReferenceCaching) ... ok
test_backwards_compat (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestObjectNameToClassName) ... ok
test_new_non_trace_objects (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestObjectNameToClassName) ... ok
test_new_traces (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestObjectNameToClassName) ... ok
test_old_traces (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestObjectNameToClassName) ... ok
test_capitalize_after_underscore (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestStringToClass) ... ok
test_capitalize_first_letter (plotly.tests.test_core.test_graph_reference.test_graph_reference.TestStringToClass) ... ok
test_column_append (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_column_append_of_non_uploaded_grid (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_delete_grid (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_duplicate_columns (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_duplicate_filenames (plotly.tests.test_core.test_grid.test_grid.GridTest) ... SKIP: adding this for now so test_file_tools pass, more infohttps://github.com/plotly/python-api/issues/262
test_get_figure_from_references (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ERROR
test_grid_id_args (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_grid_upload (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_grid_upload_in_existing_folder (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_grid_upload_in_new_folder (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_no_grid_id_args (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_overspecified_grid_args (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_plot_from_grid (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ERROR
test_row_append (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_row_append_of_non_uploaded_grid (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_scatter_from_non_uploaded_grid (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ERROR
test_unequal_length_rows (plotly.tests.test_core.test_grid.test_grid.GridTest) ... ok
test_image_get_returns_valid_image_test(jpeg, 300, 300, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(jpeg, 300, None, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(jpeg, None, 300, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(jpeg, None, None, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(pdf, 300, 300, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(pdf, 300, None, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(pdf, None, 300, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(pdf, None, None, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(png, 300, 300, 5) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(png, 300, 300, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(png, 300, None, 5) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(png, 300, None, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(png, None, 300, 5) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(png, None, 300, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(png, None, None, 5) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(png, None, None, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(svg, 300, 300, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(svg, 300, None, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(svg, None, 300, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_image_get_returns_valid_image_test(svg, None, None, None) (plotly.tests.test_core.test_image.test_image.TestImage) ... ok
test_metadata_to_nonexistent_grid (plotly.tests.test_core.test_meta.test_meta.MetaTest) ... SKIP: adding this for now so test_file_tools pass, more infohttps://github.com/plotly/python-api/issues/263
test_upload_meta (plotly.tests.test_core.test_meta.test_meta.MetaTest) ... ok
test_upload_meta_with_grid (plotly.tests.test_core.test_meta.test_meta.MetaTest) ... ok
test_autoresizing (test_offline.PlotlyOfflineTestCase) ... ERROR
test_config (test_offline.PlotlyOfflineTestCase) ... ERROR
test_default_plot_generates_expected_html (test_offline.PlotlyOfflineTestCase) ... ERROR
test_div_output (test_offline.PlotlyOfflineTestCase) ... ERROR
test_including_plotlyjs (test_offline.PlotlyOfflineTestCase) ... ERROR
test_get_module_does_not_exist (plotly.tests.test_core.test_optional_imports.test_optional_imports.OptionalImportsTest) ... ok
test_get_module_exists (plotly.tests.test_core.test_optional_imports.test_optional_imports.OptionalImportsTest) ... ok
test_get_module_exists_submodule (plotly.tests.test_core.test_optional_imports.test_optional_imports.OptionalImportsTest) ... ok
test_get_config (plotly.tests.test_core.test_plotly.test_credentials.TestSignIn) ... ok
test_get_credentials (plotly.tests.test_core.test_plotly.test_credentials.TestSignIn) ... ok
test_sign_in (plotly.tests.test_core.test_plotly.test_credentials.TestSignIn) ... ok
test_sign_in_cannot_validate (plotly.tests.test_core.test_plotly.test_credentials.TestSignIn) ... ok
test_sign_in_with_config (plotly.tests.test_core.test_plotly.test_credentials.TestSignIn) ... ok
test_plot_empty_data (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ok
test_plot_invalid (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ERROR
test_plot_invalid_args_1 (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ok
test_plot_invalid_args_2 (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ERROR
test_plot_option_logic_only_sharing_given (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ok
test_plot_option_logic_only_world_readable_given (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ok
test_plot_sharing_invalid_argument (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ok
test_plot_url_given_sharing_key (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ok
test_plot_url_response_given_sharing_key (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ok
test_plot_valid (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ERROR
test_plot_world_readable_sharing_conflict_1 (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ok
test_plot_world_readable_sharing_conflict_2 (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ok
test_private_plot_response_with_and_without_share_key (plotly.tests.test_core.test_plotly.test_plot.TestPlot) ... ok
test_conflicting_plot_options_in_plot_option_logic (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_conflicting_plot_options_in_signin_0 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_conflicting_plot_options_in_signin_1 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_conflicting_plot_options_in_signin_2 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_conflicting_plot_options_in_tools_dot_set_config0 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_conflicting_plot_options_in_tools_dot_set_config1 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_conflicting_plot_options_in_tools_dot_set_config2 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_conflicting_plot_options_with_json_writes_of_config0 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_conflicting_plot_options_with_json_writes_of_config1 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_conflicting_plot_options_with_json_writes_of_config2 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_default_options (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_private_sharing_and_public_world_readable_precedence_signin0 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_private_sharing_and_public_world_readable_precedence_signin1 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_private_sharing_and_public_world_readable_precedence_signin2 (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_set_config_updates_plot_options (plotly.tests.test_core.test_plotly.test_plot.TestPlotOptionLogic) ... ok
test_update_session_plot_options_invalid_sharing_argument (plotly.tests.test_core.test_session.test_session.TestSession) ... ok
test_update_session_plot_options_valid_sharing_argument (plotly.tests.test_core.test_session.test_session.TestSession) ... ok
test_expected_pres (plotly.tests.test_core.test_spectacle_presentation.test_spectacle_presentation.TestPresentation) ... ok
test_invalid_code_language (plotly.tests.test_core.test_spectacle_presentation.test_spectacle_presentation.TestPresentation) ... ok
test_invalid_style (plotly.tests.test_core.test_spectacle_presentation.test_spectacle_presentation.TestPresentation) ... ok
test_open_code_block (plotly.tests.test_core.test_spectacle_presentation.test_spectacle_presentation.TestPresentation) ... ok
test_initialize_stream_plot (plotly.tests.test_core.test_stream.test_stream.TestStreaming) ... ERROR
test_stream_http (plotly.tests.test_core.test_stream.test_stream.TestStreaming) ... ok
test_stream_https (plotly.tests.test_core.test_stream.test_stream.TestStreaming) ... ok
test_stream_layout (plotly.tests.test_core.test_stream.test_stream.TestStreaming) ... ERROR
test_stream_multiple_points (plotly.tests.test_core.test_stream.test_stream.TestStreaming) ... ERROR
test_stream_no_scheme (plotly.tests.test_core.test_stream.test_stream.TestStreaming) ... ok
test_stream_single_points (plotly.tests.test_core.test_stream.test_stream.TestStreaming) ... ERROR
test_stream_unstreamable (plotly.tests.test_core.test_stream.test_stream.TestStreaming) ... ERROR
test_stream_validate_data (plotly.tests.test_core.test_stream.test_stream.TestStreaming) ... ERROR
test_stream_validate_layout (plotly.tests.test_core.test_stream.test_stream.TestStreaming) ... ERROR
test_config_dict_is_equivalent_copy (plotly.tests.test_core.test_tools.test_configuration.TestGetConfigDefaults) ... ok
test_get_credentials_file (plotly.tests.test_core.test_tools.test_file_tools.FileToolsTest) ... ok
test_reset_config_file (plotly.tests.test_core.test_tools.test_file_tools.FileToolsTest) ... ok
test_reset_credentials_file (plotly.tests.test_core.test_tools.test_file_tools.FileToolsTest) ... ok
test_set_config_file_all_entries (plotly.tests.test_core.test_tools.test_file_tools.FileToolsTest) ... ok
test_set_config_file_two_entries (plotly.tests.test_core.test_tools.test_file_tools.FileToolsTest) ... ok
test_set_config_file_world_readable (plotly.tests.test_core.test_tools.test_file_tools.FileToolsTest) ... ok
test_get_embed_url_with_share_key (plotly.tests.test_core.test_tools.test_get_embed.TestGetEmbed) ... ok
plotly.tests.test_core.test_tools.test_get_embed.test_get_valid_embed ... ok
plotly.tests.test_core.test_tools.test_get_embed.test_get_invalid_embed ... ok
plotly.tests.test_core.test_tools.test_get_subplots.test_non_integer_rows ... ok
plotly.tests.test_core.test_tools.test_get_subplots.test_less_than_zero_rows ... ok
plotly.tests.test_core.test_tools.test_get_subplots.test_non_integer_columns ... ok
plotly.tests.test_core.test_tools.test_get_subplots.test_less_than_zero_cols ... ok
plotly.tests.test_core.test_tools.test_get_subplots.test_wrong_kwarg ... ok
plotly.tests.test_core.test_tools.test_get_subplots.test_get_single_plot ... ERROR
plotly.tests.test_core.test_tools.test_get_subplots.test_two_row ... ERROR
plotly.tests.test_core.test_tools.test_get_subplots.test_two_column ... ERROR
plotly.tests.test_core.test_tools.test_get_subplots.test_a_lot ... ERROR
plotly.tests.test_core.test_tools.test_get_subplots.test_spacing ... ERROR
plotly.tests.test_core.test_tools.test_get_subplots.test_default_spacing ... ERROR
test_a_lot (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_a_lot_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_column_width_not_list (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_column_width_not_list_of_correct_numbers (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_insets (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_insets_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_insets_multiple (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_insets_multiple_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_insets_wrong_cell_col (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_insets_wrong_cell_row (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_insets_wrong_item (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_insets_wrong_type (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_less_than_zero_cols (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_less_than_zero_rows (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_non_integer_cols (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_non_integer_rows (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_row_width_not_list (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_row_width_not_list_of_correct_numbers (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_shared_axes_list (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_shared_axes_list_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_shared_axes_list_of_lists (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_shared_axes_list_of_lists_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_shared_xaxes (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_shared_xaxes_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_shared_xaxes_yaxes (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_shared_xaxes_yaxes_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_shared_yaxes (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_single_plot (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_spacing (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs_colspan (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs_colspan_rowpan (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs_colspan_rowpan_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs_colspan_too_big (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_specs_is_3d (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs_overspecified (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_specs_padding (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs_padding_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs_rowspan (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs_rowspan2 (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_specs_rowspan_too_big (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_specs_underspecified (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_specs_wrong_inner_type (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_specs_wrong_item_key (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_specs_wrong_item_type (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_specs_wrong_type (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_start_cell_wrong_values (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
test_subplot_titles_1x3 (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_subplot_titles_2x1 (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_subplot_titles_insets (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_subplot_titles_irregular_layout (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_subplot_titles_shared_axes (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_two_column (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_two_row (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_two_row_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ERROR
test_wrong_kwarg (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots) ... ok
plotly.tests.test_core.test_tools.test_validate.test_validate_valid_fig ... ERROR
plotly.tests.test_core.test_tools.test_validate.test_validate_invalid_fig ... ERROR
test_get_by_path (plotly.tests.test_core.test_utils.test_utils.TestGetByPath) ... ok
test_nan_to_null (plotly.tests.test_core.test_utils.test_utils.TestJSONEncoder) ... ok
test_memoize (plotly.tests.test_core.test_utils.test_utils.TestMemoizeDecorator) ... ok
test_memoize_function_info (plotly.tests.test_core.test_utils.test_utils.TestMemoizeDecorator) ... ok
test_memoize_maxsize (plotly.tests.test_core.test_utils.test_utils.TestMemoizeDecorator) ... ok
test_memoize_maxsize_none (plotly.tests.test_core.test_utils.test_utils.TestMemoizeDecorator) ... ok
test_node_generator (plotly.tests.test_core.test_utils.test_utils.TestNodeGenerator) ... ok
test_df_as_list (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestBullet) ... ok
test_full_bullet (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestBullet) ... ERROR
test_not_df_or_list (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestBullet) ... ok
test_valid_color_lists_of_2_rgb_colors (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestBullet) ... ok
test_colorscale_and_levels_same_length (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestChoropleth) ... ERROR
test_correct_order_param (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestChoropleth) ... ERROR
test_fips_values_same_length (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestChoropleth) ... ERROR
test_full_choropleth (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestChoropleth) ... ERROR
test_scope_is_not_list (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestChoropleth) ... ERROR
test_default_dendrogram (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDendrogram) ... ERROR
test_dendrogram_colorscale (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDendrogram) ... ERROR
test_dendrogram_orientation (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDendrogram) ... ERROR
test_dendrogram_random_matrix (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDendrogram) ... ERROR
test_distplot_more_args_prob (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot) ... ERROR
test_distplot_more_args_prob_dens (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot) ... ERROR
test_simple_distplot_prob (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot) ... ERROR
test_simple_distplot_prob_density (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot) ... ERROR
test_unequal_data_label_length (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot) ... ok
test_wrong_curve_type (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot) ... ok
test_wrong_histdata_format (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot) ... ok
test_data_must_be_dataframe (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid) ... ok
test_facet_labels (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid) ... ok
test_valid_col_selection (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid) ... ok
test_valid_color_dict (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid) ... ok
test_valid_colorscale_name (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid) ... ok
test_valid_facet_grid_fig (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid) ... ERROR
test_valid_plotly_color_scale_name (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid) ... ok
test_valid_scales (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid) ... ok
test_valid_trace_type (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid) ... ok
test_x_and_y_for_scatter (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid) ... ok
test_df_dataframe (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestGantt) ... ok
test_df_dataframe_all_args (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestGantt) ... FAIL
test_dataframe_input (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ok
test_dictionary_colormap (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ok
test_forbidden_params (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ok
test_one_column_dataframe (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ok
test_same_data_in_dataframe_columns (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ok
test_same_data_in_index (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ok
test_scatter_plot_matrix (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ERROR
test_scatter_plot_matrix_kwargs (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ERROR
test_valid_colormap (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ok
test_valid_diag_choice (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ok
test_valid_endpts (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ok
test_valid_index_choice (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix) ... ok
test_simple_streamline (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestStreamline) ... FAIL
test_unequal_length_uv (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestStreamline) ... ok
test_unequal_length_xy (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestStreamline) ... ok
test_uneven_x (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestStreamline) ... ok
test_uneven_y (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestStreamline) ... ok
test_wrong_arrow_scale (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestStreamline) ... ok
test_wrong_density (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestStreamline) ... ok
test_trisurf_all_args (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestTrisurf) ... ERROR
test_valid_colormap (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestTrisurf) ... ok
test_vmin_and_vmax (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestTrisurf) ... ok
test_colors_dict (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestViolin) ... ok
test_colors_validation (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestViolin) ... ok
test_data_as_list (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestViolin) ... ok
test_data_header (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestViolin) ... ok
test_dataframe_input (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestViolin) ... ok
test_group_stats (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestViolin) ... ok
test_valid_colorscale (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestViolin) ... ok
test_violin_fig (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestViolin) ... ERROR
test_figure_to_dataframe (plotly.tests.test_optional.test_graph_objs.test_to_dataframe.TestToDataframe) ... ERROR
test_duplicate_columns (plotly.tests.test_optional.test_grid.test_grid.TestDataframeToGrid) ... ok
test_instantiate_graph_widget (plotly.tests.test_optional.test_ipython.test_widgets.TestWidgets) ... ok
test_js (test_jupyter.PlotlyJupyterConnectedFalseTestCase) ... FAIL
test_js (test_jupyter.PlotlyJupyterConnectedTrueTestCase) ... FAIL
test_node_modules (test_jupyter.PlotlyJupyterTestDeps) ... FAIL
Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)

) ... ERROR
Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)

) ... ERROR
Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.bar
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)

) ... ERROR
plotly.tests.test_optional.test_matplotlylib.test_data.test_line_data ... ERROR
plotly.tests.test_optional.test_matplotlylib.test_data.test_lines_data ... ERROR
plotly.tests.test_optional.test_matplotlylib.test_data.test_bar_data ... ERROR
plotly.tests.test_optional.test_matplotlylib.test_data.test_bars_data ... ERROR
test_normal_mpl_dates (plotly.tests.test_optional.test_matplotlylib.test_date_times.TestDateTimes) ... ERROR
test_pandas_time_series_date_formatter (plotly.tests.test_optional.test_matplotlylib.test_date_times.TestDateTimes) ... ERROR
Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)

) ... ERROR
Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'symbol' property of trace.scatter.marker
        Received value: 'dot'

    The 'symbol' property is an enumeration that may be specified as:
      - One of the following enumeration values:
            [0, 'circle', 100, 'circle-open', 200, 'circle-dot', 300,
            'circle-open-dot', 1, 'square', 101, 'square-open', 201,
            'square-dot', 301, 'square-open-dot', 2, 'diamond', 102,
            'diamond-open', 202, 'diamond-dot', 302,
            'diamond-open-dot', 3, 'cross', 103, 'cross-open', 203,
            'cross-dot', 303, 'cross-open-dot', 4, 'x', 104, 'x-open',
            204, 'x-dot', 304, 'x-open-dot', 5, 'triangle-up', 105,
            'triangle-up-open', 205, 'triangle-up-dot', 305,
            'triangle-up-open-dot', 6, 'triangle-down', 106,
            'triangle-down-open', 206, 'triangle-down-dot', 306,
            'triangle-down-open-dot', 7, 'triangle-left', 107,
            'triangle-left-open', 207, 'triangle-left-dot', 307,
            'triangle-left-open-dot', 8, 'triangle-right', 108,
            'triangle-right-open', 208, 'triangle-right-dot', 308,
            'triangle-right-open-dot', 9, 'triangle-ne', 109,
            'triangle-ne-open', 209, 'triangle-ne-dot', 309,
            'triangle-ne-open-dot', 10, 'triangle-se', 110,
            'triangle-se-open', 210, 'triangle-se-dot', 310,
            'triangle-se-open-dot', 11, 'triangle-sw', 111,
            'triangle-sw-open', 211, 'triangle-sw-dot', 311,
            'triangle-sw-open-dot', 12, 'triangle-nw', 112,
            'triangle-nw-open', 212, 'triangle-nw-dot', 312,
            'triangle-nw-open-dot', 13, 'pentagon', 113,
            'pentagon-open', 213, 'pentagon-dot', 313,
            'pentagon-open-dot', 14, 'hexagon', 114, 'hexagon-open',
            214, 'hexagon-dot', 314, 'hexagon-open-dot', 15,
            'hexagon2', 115, 'hexagon2-open', 215, 'hexagon2-dot',
            315, 'hexagon2-open-dot', 16, 'octagon', 116,
            'octagon-open', 216, 'octagon-dot', 316,
            'octagon-open-dot', 17, 'star', 117, 'star-open', 217,
            'star-dot', 317, 'star-open-dot', 18, 'hexagram', 118,
            'hexagram-open', 218, 'hexagram-dot', 318,
            'hexagram-open-dot', 19, 'star-triangle-up', 119,
            'star-triangle-up-open', 219, 'star-triangle-up-dot', 319,
            'star-triangle-up-open-dot', 20, 'star-triangle-down',
            120, 'star-triangle-down-open', 220,
            'star-triangle-down-dot', 320,
            'star-triangle-down-open-dot', 21, 'star-square', 121,
            'star-square-open', 221, 'star-square-dot', 321,
            'star-square-open-dot', 22, 'star-diamond', 122,
            'star-diamond-open', 222, 'star-diamond-dot', 322,
            'star-diamond-open-dot', 23, 'diamond-tall', 123,
            'diamond-tall-open', 223, 'diamond-tall-dot', 323,
            'diamond-tall-open-dot', 24, 'diamond-wide', 124,
            'diamond-wide-open', 224, 'diamond-wide-dot', 324,
            'diamond-wide-open-dot', 25, 'hourglass', 125,
            'hourglass-open', 26, 'bowtie', 126, 'bowtie-open', 27,
            'circle-cross', 127, 'circle-cross-open', 28, 'circle-x',
            128, 'circle-x-open', 29, 'square-cross', 129,
            'square-cross-open', 30, 'square-x', 130, 'square-x-open',
            31, 'diamond-cross', 131, 'diamond-cross-open', 32,
            'diamond-x', 132, 'diamond-x-open', 33, 'cross-thin', 133,
            'cross-thin-open', 34, 'x-thin', 134, 'x-thin-open', 35,
            'asterisk', 135, 'asterisk-open', 36, 'hash', 136,
            'hash-open', 236, 'hash-dot', 336, 'hash-open-dot', 37,
            'y-up', 137, 'y-up-open', 38, 'y-down', 138,
            'y-down-open', 39, 'y-left', 139, 'y-left-open', 40,
            'y-right', 140, 'y-right-open', 41, 'line-ew', 141,
            'line-ew-open', 42, 'line-ns', 142, 'line-ns-open', 43,
            'line-ne', 143, 'line-ne-open', 44, 'line-nw', 144,
            'line-nw-open']
      - A tuple, list, or one-dimensional numpy array of the above
) ... ERROR
Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)

) ... ERROR
test_default_mpl_plot_generates_expected_html (plotly.tests.test_optional.test_offline.test_offline.PlotlyOfflineMPLTestCase) ... ERROR
test_iplot_doesnt_work_before_you_call_init_notebook_mode_when_requesting_download (plotly.tests.test_optional.test_offline.test_offline.PlotlyOfflineTestCase) ... ok
test_iplot_mpl_works (plotly.tests.test_optional.test_offline.test_offline.PlotlyOfflineTestCase) ... ERROR
test_iplot_works_after_you_call_init_notebook_mode (plotly.tests.test_optional.test_offline.test_offline.PlotlyOfflineTestCase) ... ok
test_iplot_works_without_init_notebook_mode (plotly.tests.test_optional.test_offline.test_offline.PlotlyOfflineTestCase) ... ok
test_update (plotly.tests.test_optional.test_plotly.test_plot_mpl.PlotMPLTest) ... ERROR
test_update_type_error (plotly.tests.test_optional.test_plotly.test_plot_mpl.PlotMPLTest) ... ERROR
test_update_validation_error (plotly.tests.test_optional.test_plotly.test_plot_mpl.PlotMPLTest) ... ERROR
test_2D_density_all_args (plotly.tests.test_optional.test_tools.test_figure_factory.Test2D_Density) ... ERROR
test_validate_2D_density (plotly.tests.test_optional.test_tools.test_figure_factory.Test2D_Density) ... ok
test_annotated_heatmap_kwargs (plotly.tests.test_optional.test_tools.test_figure_factory.TestAnnotatedHeatmap) ... ERROR
test_incorrect_x_size (plotly.tests.test_optional.test_tools.test_figure_factory.TestAnnotatedHeatmap) ... ok
test_incorrect_y_size (plotly.tests.test_optional.test_tools.test_figure_factory.TestAnnotatedHeatmap) ... ok
test_simple_annotated_heatmap (plotly.tests.test_optional.test_tools.test_figure_factory.TestAnnotatedHeatmap) ... ERROR
test_unequal_z_text_size (plotly.tests.test_optional.test_tools.test_figure_factory.TestAnnotatedHeatmap) ... ok
test_datetime_candlestick (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts) ... FAIL
test_datetime_ohlc (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts) ... FAIL
test_direction_arg (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts) ... ok
test_high_highest_value (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts) ... ok
test_low_lowest_value (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts) ... ok
test_one_candlestick (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts) ... FAIL
test_one_ohlc (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts) ... FAIL
test_one_ohlc_decrease (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts) ... FAIL
test_one_ohlc_increase (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts) ... FAIL
test_unequal_ohlc_length (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts) ... ok
test_gannt_groups_and_descriptions (plotly.tests.test_optional.test_tools.test_figure_factory.TestGantt) ... ok
test_gantt_all_args (plotly.tests.test_optional.test_tools.test_figure_factory.TestGantt) ... ok
test_gantt_index (plotly.tests.test_optional.test_tools.test_figure_factory.TestGantt) ... ok
test_gantt_validate_colors (plotly.tests.test_optional.test_tools.test_figure_factory.TestGantt) ... ok
test_validate_gantt (plotly.tests.test_optional.test_tools.test_figure_factory.TestGantt) ... ok
test_more_kwargs (plotly.tests.test_optional.test_tools.test_figure_factory.TestQuiver) ... FAIL
test_one_arrow (plotly.tests.test_optional.test_tools.test_figure_factory.TestQuiver) ... FAIL
test_unequal_xy_length (plotly.tests.test_optional.test_tools.test_figure_factory.TestQuiver) ... ok
test_wrong_arrow_scale (plotly.tests.test_optional.test_tools.test_figure_factory.TestQuiver) ... ok
test_wrong_scale (plotly.tests.test_optional.test_tools.test_figure_factory.TestQuiver) ... ok
test_fontcolor_input (plotly.tests.test_optional.test_tools.test_figure_factory.TestTable) ... ERROR
test_simple_table (plotly.tests.test_optional.test_tools.test_figure_factory.TestTable) ... ERROR
test_table_with_index (plotly.tests.test_optional.test_tools.test_figure_factory.TestTable) ... ERROR
test_encode_as_date (plotly.tests.test_optional.test_utils.test_utils.TestJSONEncoder) ... ok
test_encode_as_datetime (plotly.tests.test_optional.test_utils.test_utils.TestJSONEncoder) ... FAIL
test_encode_as_decimal (plotly.tests.test_optional.test_utils.test_utils.TestJSONEncoder) ... ok
test_encode_as_list (plotly.tests.test_optional.test_utils.test_utils.TestJSONEncoder) ... ok
test_encode_as_numpy (plotly.tests.test_optional.test_utils.test_utils.TestJSONEncoder) ... ok
test_encode_as_pandas (plotly.tests.test_optional.test_utils.test_utils.TestJSONEncoder) ... ok
test_encode_as_plotly (plotly.tests.test_optional.test_utils.test_utils.TestJSONEncoder) ... ok
plotly.tests.test_optional.test_utils.test_utils.test_column_json_encoding ... FAIL
plotly.tests.test_optional.test_utils.test_utils.test_figure_json_encoding ... FAIL
plotly.tests.test_optional.test_utils.test_utils.test_datetime_json_encoding ... FAIL
plotly.tests.test_optional.test_utils.test_utils.test_pandas_json_encoding ... FAIL
plotly.tests.test_optional.test_utils.test_utils.test_numpy_masked_json_encoding ... ok
plotly.tests.test_optional.test_utils.test_utils.test_masked_constants_example ... ERROR
plotly.tests.test_optional.test_utils.test_utils.test_numpy_dates ... ok
plotly.tests.test_optional.test_utils.test_utils.test_datetime_dot_date ... ok

@chriddyp
Copy link
Member Author

chriddyp commented Mar 6, 2018

With error messages:


======================================================================
ERROR: test_get_figure (plotly.tests.test_core.test_get_figure.test_get_figure.GetFigureTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_get_figure/test_get_figure.py", line 47, in test_get_figure
    py.get_figure('PlotlyImageTest', str(file_id))
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 476, in get_figure
    return tools.get_valid_graph_obj(figure, obj_type='Figure')
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1368, in get_valid_graph_obj
    return cls(obj, _raise=False)
TypeError: __init__() got an unexpected keyword argument '_raise'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/plots/PlotlyImageTest:2/content?inline_data=true HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_get_figure_with_url (plotly.tests.test_core.test_get_figure.test_get_figure.GetFigureTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_get_figure/test_get_figure.py", line 55, in test_get_figure_with_url
    py.get_figure(url)
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 476, in get_figure
    return tools.get_valid_graph_obj(figure, obj_type='Figure')
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1368, in get_valid_graph_obj
    return cls(obj, _raise=False)
TypeError: __init__() got an unexpected keyword argument '_raise'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/plots/PlotlyImageTest:2/content?inline_data=true HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_proper_escaping (plotly.tests.test_core.test_get_figure.test_get_figure.TestBytesVStrings)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_get_figure/test_get_figure.py", line 100, in test_proper_escaping
    py.get_figure(url)
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 476, in get_figure
    return tools.get_valid_graph_obj(figure, obj_type='Figure')
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1368, in get_valid_graph_obj
    return cls(obj, _raise=False)
TypeError: __init__() got an unexpected keyword argument '_raise'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/plots/PlotlyImageTest:91/content?inline_data=true HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_annotations.test_validate
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_annotations.py", line 59, in test_validate
    annotations.validate()
AttributeError: 'Annotations' object has no attribute 'validate'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_annotations.test_validate_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 60, in newfunc
    func(*arg, **kw)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_annotations.py", line 70, in test_validate_error
    annotations.validate()
AttributeError: 'Annotations' object has no attribute 'validate'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_append_trace.test_append_scatter
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_append_trace.py", line 94, in test_append_scatter
    anchor='x6'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_append_trace.test_append_scatter3d
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_append_trace.py", line 128, in test_append_scatter3d
    scene='scene1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 27869, in __init__
    self.scene = scene
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 27043, in scene
    self['scene'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 844, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'scene' property of trace.scatter3d
        Received value: 'scene1'

    The 'scene' property is an identifier of a particular subplot, of type 'scene', that
    may be specified as the string 'scene' optionally followed by an integer > 1
    (e.g. 'scene', 'scene2', 'scene3', etc.)



======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_data.test_validate
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_data.py", line 68, in test_validate
    data.validate()
AttributeError: 'Data' object has no attribute 'validate'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_data.test_validate_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 60, in newfunc
    func(*arg, **kw)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_data.py", line 79, in test_validate_error
    data.validate()
AttributeError: 'Data' object has no attribute 'validate'

======================================================================
ERROR: test_instantiation (plotly.tests.test_core.test_graph_objs.test_figure.FigureTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_figure.py", line 19, in test_instantiation
    Figure(native_figure)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 43, in __init__
    data = self._data_validator.validate_coerce(data)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1268, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.dict' received for the 'data' property of figure
        Received value: {'data': [], 'layout': {}, 'frames': []}

    The 'data' property is a tuple of trace instances that may be specified as:
      - A list or tuple of trace instances
        (e.g. [Scatter(...), Bar(...)])
      - A list or tuple of dicts of string/value properties where:
        - The 'type' property specifies the trace type
            One of: ['area', 'bar', 'box', 'candlestick', 'carpet', 'choropleth', 'contour',
                     'contourcarpet', 'heatmap', 'heatmapgl',
                     'histogram', 'histogram2d', 'histogram2dcontour',
                     'mesh3d', 'ohlc', 'parcoords', 'pie', 'pointcloud',
                     'sankey', 'scatter', 'scatter3d', 'scattercarpet',
                     'scattergeo', 'scattergl', 'scattermapbox',
                     'scatterpolar', 'scatterpolargl', 'scatterternary',
                     'surface', 'table', 'violin']

        - All remaining properties are passed to the constructor of the specified trace type

        (e.g. [{'type': 'scatter', ...}, {'type': 'bar, ...}])


======================================================================
ERROR: test_nested_frames (plotly.tests.test_core.test_graph_objs.test_figure.FigureTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_figure.py", line 32, in test_nested_frames
    Figure({'frames': [{'frames': []}]})
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 43, in __init__
    data = self._data_validator.validate_coerce(data)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1268, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.dict' received for the 'data' property of figure
        Received value: {'frames': [{'frames': []}]}

    The 'data' property is a tuple of trace instances that may be specified as:
      - A list or tuple of trace instances
        (e.g. [Scatter(...), Bar(...)])
      - A list or tuple of dicts of string/value properties where:
        - The 'type' property specifies the trace type
            One of: ['area', 'bar', 'box', 'candlestick', 'carpet', 'choropleth', 'contour',
                     'contourcarpet', 'heatmap', 'heatmapgl',
                     'histogram', 'histogram2d', 'histogram2dcontour',
                     'mesh3d', 'ohlc', 'parcoords', 'pie', 'pointcloud',
                     'sankey', 'scatter', 'scatter3d', 'scattercarpet',
                     'scattergeo', 'scattergl', 'scattermapbox',
                     'scatterpolar', 'scatterpolargl', 'scatterternary',
                     'surface', 'table', 'violin']

        - All remaining properties are passed to the constructor of the specified trace type

        (e.g. [{'type': 'scatter', ...}, {'type': 'bar, ...}])


======================================================================
ERROR: test_deeply_nested_data_attributes (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_frames.py", line 61, in test_deeply_nested_data_attributes
    frames[0].data = [Bar()]
AttributeError: 'dict' object has no attribute 'data'

======================================================================
ERROR: test_deeply_nested_layout_attributes (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_frames.py", line 50, in test_deeply_nested_layout_attributes
    frames[0].layout.xaxis.showexponent = 'all'
AttributeError: 'dict' object has no attribute 'layout'

======================================================================
ERROR: test_frame_only_attrs (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_frames.py", line 77, in test_frame_only_attrs
    frames[0]._get_valid_attributes(),
AttributeError: 'dict' object has no attribute '_get_valid_attributes'

======================================================================
ERROR: test_string_frame (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_frames.py", line 28, in test_string_frame
    self.assertEqual(frames.to_string(),
AttributeError: 'Frames' object has no attribute 'to_string'

======================================================================
ERROR: test_flatten_repeated_trace_names (plotly.tests.test_core.test_graph_objs.test_get_data.TestGetData)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_get_data.py", line 169, in test_flatten_repeated_trace_names
    data = dl.get_data(flatten=True)
AttributeError: 'Data' object has no attribute 'get_data'

======================================================================
ERROR: test_get_data (plotly.tests.test_core.test_graph_objs.test_get_data.TestGetData)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_get_data.py", line 106, in test_get_data
    data = self.fig.get_data()
AttributeError: 'Figure' object has no attribute 'get_data'

======================================================================
ERROR: test_get_data_flatten (plotly.tests.test_core.test_graph_objs.test_get_data.TestGetData)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_get_data.py", line 142, in test_get_data_flatten
    flat_data = self.fig.get_data(flatten=True)
AttributeError: 'Figure' object has no attribute 'get_data'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_scatter.test_validate
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_scatter.py", line 26, in test_validate
    Scatter().validate()
AttributeError: 'Scatter' object has no attribute 'validate'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_scatter.test_validate_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 60, in newfunc
    func(*arg, **kw)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_scatter.py", line 32, in test_validate_error
    scatter['invalid'] = 'something'
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'invalid'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_strip_style.test_strip_style
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_strip_style.py", line 100, in test_strip_style
    fig.strip_style()
AttributeError: 'Figure' object has no attribute 'strip_style'
-------------------- >> begin captured stdout << ---------------------
<plotly.datatypes.Figure object at 0x113c6e048>




--------------------- >> end captured stdout << ----------------------

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_to_string.test_to_string
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_to_string.py", line 30, in test_to_string
    fig_string = fig.to_string(pretty=False)
AttributeError: 'Figure' object has no attribute 'to_string'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_to_string.test_nested_list
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_to_string.py", line 60, in test_nested_list
    print(Contour(z=z).to_string())
AttributeError: 'Contour' object has no attribute 'to_string'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_update.test_update_dict
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_update.py", line 10, in test_update_dict
    fig.update(layout=Layout(title=title))
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 670, in update
    trace_indexes=trace_indexes)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 699, in _perform_update_dict
    relayout_msg = self._perform_relayout_dict(layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 559, in _perform_relayout_dict
    for raw_key, v in relayout_data.items():
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1665, in __getattr__
    raise AttributeError("'Layout' object has no attribute '{item}'".format(item=item))
AttributeError: 'Layout' object has no attribute 'items'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_update.test_update_list
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_update.py", line 21, in test_update_list
    data.update(update)
AttributeError: 'Data' object has no attribute 'update'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_update.test_update_dict_empty
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_update.py", line 30, in test_update_dict_empty
    data.update({})
AttributeError: 'Data' object has no attribute 'update'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_update.test_update_list_empty
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_update.py", line 40, in test_update_list_empty
    data.update([])
AttributeError: 'Data' object has no attribute 'update'

======================================================================
ERROR: plotly.tests.test_core.test_graph_objs.test_update.test_update_list_make_copies_true
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_update.py", line 61, in test_update_list_make_copies_true
    data.update(update, make_copies=True)
AttributeError: 'Data' object has no attribute 'update'

======================================================================
ERROR: test_get_figure_from_references (plotly.tests.test_core.test_grid.test_grid.GridTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_grid/test_grid.py", line 102, in test_get_figure_from_references
    url, g = self.test_plot_from_grid()
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_grid/test_grid.py", line 96, in test_plot_from_grid
    url = py.plot([Scatter(xsrc=g[0], ysrc=g[1])],
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26294, in __init__
    self.xsrc = xsrc
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 25686, in xsrc
    self['xsrc'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 532, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'plotly.grid_objs.grid_objs.Column' received for the 'xsrc' property of trace.scatter
        Received value: Column("[1, 2, 3, 4]", first column)

    The 'xsrc' property is a string and must be specified as:
      - A string

-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "POST /v2/grids HTTP/1.1" 201 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_plot_from_grid (plotly.tests.test_core.test_grid.test_grid.GridTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_grid/test_grid.py", line 96, in test_plot_from_grid
    url = py.plot([Scatter(xsrc=g[0], ysrc=g[1])],
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26294, in __init__
    self.xsrc = xsrc
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 25686, in xsrc
    self['xsrc'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 532, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'plotly.grid_objs.grid_objs.Column' received for the 'xsrc' property of trace.scatter
        Received value: Column("[1, 2, 3, 4]", first column)

    The 'xsrc' property is a string and must be specified as:
      - A string

-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "POST /v2/grids HTTP/1.1" 201 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_scatter_from_non_uploaded_grid (plotly.tests.test_core.test_grid.test_grid.GridTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_grid/test_grid.py", line 127, in test_scatter_from_non_uploaded_grid
    Scatter(xsrc=g[0], ysrc=g[1])
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26294, in __init__
    self.xsrc = xsrc
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 25686, in xsrc
    self['xsrc'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 532, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'plotly.grid_objs.grid_objs.Column' received for the 'xsrc' property of trace.scatter
        Received value: Column("[1, 2, 3, 4]", first column)

    The 'xsrc' property is a string and must be specified as:
      - A string

-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_autoresizing (test_offline.PlotlyOfflineTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_offline/test_offline.py", line 84, in test_autoresizing
    html = self._read_html(plotly.offline.plot(fig, auto_open=False))
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 461, in plot
    '100%', '100%', global_requirejs=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 156, in _plot_html
    width = figure.get('layout', {}).get('width', default_width)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1665, in __getattr__
    raise AttributeError("'Layout' object has no attribute '{item}'".format(item=item))
AttributeError: 'Layout' object has no attribute 'get'

======================================================================
ERROR: test_config (test_offline.PlotlyOfflineTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_offline/test_offline.py", line 102, in test_config
    auto_open=False))
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 461, in plot
    '100%', '100%', global_requirejs=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 156, in _plot_html
    width = figure.get('layout', {}).get('width', default_width)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1665, in __getattr__
    raise AttributeError("'Layout' object has no attribute '{item}'".format(item=item))
AttributeError: 'Layout' object has no attribute 'get'

======================================================================
ERROR: test_default_plot_generates_expected_html (test_offline.PlotlyOfflineTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_offline/test_offline.py", line 55, in test_default_plot_generates_expected_html
    html = self._read_html(plotly.offline.plot(fig, auto_open=False))
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 461, in plot
    '100%', '100%', global_requirejs=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 156, in _plot_html
    width = figure.get('layout', {}).get('width', default_width)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1665, in __getattr__
    raise AttributeError("'Layout' object has no attribute '{item}'".format(item=item))
AttributeError: 'Layout' object has no attribute 'get'

======================================================================
ERROR: test_div_output (test_offline.PlotlyOfflineTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_offline/test_offline.py", line 72, in test_div_output
    html = plotly.offline.plot(fig, output_type='div', auto_open=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 461, in plot
    '100%', '100%', global_requirejs=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 156, in _plot_html
    width = figure.get('layout', {}).get('width', default_width)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1665, in __getattr__
    raise AttributeError("'Layout' object has no attribute '{item}'".format(item=item))
AttributeError: 'Layout' object has no attribute 'get'

======================================================================
ERROR: test_including_plotlyjs (test_offline.PlotlyOfflineTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_offline/test_offline.py", line 68, in test_including_plotlyjs
    auto_open=False))
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 461, in plot
    '100%', '100%', global_requirejs=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 156, in _plot_html
    width = figure.get('layout', {}).get('width', default_width)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1665, in __getattr__
    raise AttributeError("'Layout' object has no attribute '{item}'".format(item=item))
AttributeError: 'Layout' object has no attribute 'get'

======================================================================
ERROR: test_plot_invalid (plotly.tests.test_core.test_plotly.test_plot.TestPlot)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_plotly/test_plot.py", line 60, in test_plot_invalid
    py.plot(fig, auto_open=False, filename='plot_invalid')
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 201, in plot
    figure = tools.return_figure_from_figure_or_data(figure_or_data, validate)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1461, in return_figure_from_figure_or_data
    Figure(**figure)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 43, in __init__
    data = self._data_validator.validate_coerce(data)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1250, in validate_coerce
    trace = self.class_map[trace_type](**v_copy)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26193, in __init__
    super().__init__('scatter', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1694, in __init__
    super().__init__(plotly_name, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1685, in __init__
    super().__init__(plotly_name, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1230, in __init__
    self._raise_on_invalid_property_error(**kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1278, in _raise_on_invalid_property_error
    prop_descriptions=self._prop_descriptions))
ValueError: Invalid property specified for trace.scatter: 'z'

    Valid properties:
        cliponaxis
            Determines whether or not markers and text nodes are clipped about
            the subplot axes. To show markers and text nodes above
            axis lines and tick labels, make sure to set
            `xaxis.layer` and `yaxis.layer` to *below traces*.
        connectgaps
            Determines whether or not gaps (i.e. {nan} or missing values) in the
            provided data arrays are connected.
        customdata
            Assigns extra data each datum. This may be useful when listening to
            hover, click and selection events. Note that, *scatter*
            traces also appends customdata items in the markers DOM
            elements
        customdatasrc
            Sets the source reference on plot.ly for  customdata .
        dx
            Sets the x coordinate step. See `x0` for more info.
        dy
            Sets the y coordinate step. See `y0` for more info.
        error_x

        error_y

        fill
            Sets the area to fill with a solid color. Use with `fillcolor` if
            not *none*. *tozerox* and *tozeroy* fill to x=0 and y=0
            respectively. *tonextx* and *tonexty* fill between the
            endpoints of this trace and the endpoints of the trace
            before it, connecting those endpoints with straight
            lines (to make a stacked area graph); if there is no
            trace before it, they behave like *tozerox* and
            *tozeroy*. *toself* connects the endpoints of the trace
            (or each segment of the trace if it has gaps) into a
            closed shape. *tonext* fills the space between two
            traces if one completely encloses the other (eg
            consecutive contour lines), and behaves like *toself* if
            there is no trace before it. *tonext* should not be used
            if one trace does not enclose the other.
        fillcolor
            Sets the fill color. Defaults to a half-transparent variant of the
            line color, marker color, or marker line color,
            whichever is available.
        hoverinfo
            Determines which trace information appear on hover. If `none` or
            `skip` are set, no information is displayed upon
            hovering. But, if `none` is set, click and hover events
            are still fired.
        hoverinfosrc
            Sets the source reference on plot.ly for  hoverinfo .
        hoverlabel

        hoveron
            Do the hover effects highlight individual points (markers or line
            points) or do they highlight filled regions? If the fill
            is *toself* or *tonext* and there are no markers or
            text, then the default is *fills*, otherwise it is
            *points*.
        hovertext
            Sets hover text elements associated with each (x,y) pair. If a
            single string, the same string appears over all the data
            points. If an array of string, the items are mapped in
            order to the this trace's (x,y) coordinates. To be seen,
            trace `hoverinfo` must contain a *text* flag.
        hovertextsrc
            Sets the source reference on plot.ly for  hovertext .
        ids
            Assigns id labels to each datum. These ids for object constancy of
            data points during animation.
        idssrc
            Sets the source reference on plot.ly for  ids .
        legendgroup
            Sets the legend group for this trace. Traces part of the same legend
            group hide/show at the same time when toggling legend
            items.
        line

        marker

        mode
            Determines the drawing mode for this scatter trace. If the provided
            `mode` includes *text* then the `text` elements appear
            at the coordinates. Otherwise, the `text` elements
            appear on hover. If there are less than 20 points, then
            the default is *lines+markers*. Otherwise, *lines*.
        name
            Sets the trace name. The trace name appear as the legend item and on
            hover.
        opacity
            Sets the opacity of the trace.
        r
            For legacy polar chart only.Please switch to *scatterpolar* trace
            type.Sets the radial coordinates.
        rsrc
            Sets the source reference on plot.ly for  r .
        selected

        selectedpoints
            Array containing integer indices of selected points. Has an effect
            only for traces that support selections. Note that an
            empty array means an empty selection where the
            `unselected` are turned on for all points, whereas, any
            other non-array values means no selection all where the
            `selected` and `unselected` styles have no effect.
        showlegend
            Determines whether or not an item corresponding to this trace is
            shown in the legend.
        stream

        t
            For legacy polar chart only.Please switch to *scatterpolar* trace
            type.Sets the angular coordinates.
        text
            Sets text elements associated with each (x,y) pair. If a single
            string, the same string appears over all the data
            points. If an array of string, the items are mapped in
            order to the this trace's (x,y) coordinates. If trace
            `hoverinfo` contains a *text* flag and *hovertext* is
            not set, these elements will be seen in the hover
            labels.
        textfont
            Sets the text font.
        textposition
            Sets the positions of the `text` elements with respects to the (x,y)
            coordinates.
        textpositionsrc
            Sets the source reference on plot.ly for  textposition .
        textsrc
            Sets the source reference on plot.ly for  text .
        tsrc
            Sets the source reference on plot.ly for  t .
        uid

        unselected

        visible
            Determines whether or not this trace is visible. If *legendonly*,
            the trace is not drawn, but can appear as a legend item
            (provided that the legend itself is visible).
        x
            Sets the x coordinates.
        x0
            Alternate to `x`. Builds a linear space of x coordinates. Use with
            `dx` where `x0` is the starting coordinate and `dx` the
            step.
        xaxis
            Sets a reference between this trace's x coordinates and a 2D
            cartesian x axis. If *x* (the default value), the x
            coordinates refer to `layout.xaxis`. If *x2*, the x
            coordinates refer to `layout.xaxis2`, and so on.
        xcalendar
            Sets the calendar system to use with `x` date data.
        xsrc
            Sets the source reference on plot.ly for  x .
        y
            Sets the y coordinates.
        y0
            Alternate to `y`. Builds a linear space of y coordinates. Use with
            `dy` where `y0` is the starting coordinate and `dy` the
            step.
        yaxis
            Sets a reference between this trace's y coordinates and a 2D
            cartesian y axis. If *y* (the default value), the y
            coordinates refer to `layout.yaxis`. If *y2*, the y
            coordinates refer to `layout.xaxis2`, and so on.
        ycalendar
            Sets the calendar system to use with `y` date data.
        ysrc
            Sets the source reference on plot.ly for  y .

-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_plot_invalid_args_2 (plotly.tests.test_core.test_plotly.test_plot.TestPlot)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_plotly/test_plot.py", line 70, in test_plot_invalid_args_2
    filename='plot_invalid')
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 201, in plot
    figure = tools.return_figure_from_figure_or_data(figure_or_data, validate)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1461, in return_figure_from_figure_or_data
    Figure(**figure)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 43, in __init__
    data = self._data_validator.validate_coerce(data)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1257, in validate_coerce
    self.raise_invalid_elements(invalid_els)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 118, in raise_invalid_elements
    vald_clr_desc=self.description()))
ValueError:
    Invalid element(s) received for the 'data' property of figure
        Invalid elements include: [1, 2, 3]

    The 'data' property is a tuple of trace instances that may be specified as:
      - A list or tuple of trace instances
        (e.g. [Scatter(...), Bar(...)])
      - A list or tuple of dicts of string/value properties where:
        - The 'type' property specifies the trace type
            One of: ['area', 'bar', 'box', 'candlestick', 'carpet', 'choropleth', 'contour',
                     'contourcarpet', 'heatmap', 'heatmapgl',
                     'histogram', 'histogram2d', 'histogram2dcontour',
                     'mesh3d', 'ohlc', 'parcoords', 'pie', 'pointcloud',
                     'sankey', 'scatter', 'scatter3d', 'scattercarpet',
                     'scattergeo', 'scattergl', 'scattermapbox',
                     'scatterpolar', 'scatterpolargl', 'scatterternary',
                     'surface', 'table', 'violin']

        - All remaining properties are passed to the constructor of the specified trace type

        (e.g. [{'type': 'scatter', ...}, {'type': 'bar, ...}])

-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_plot_valid (plotly.tests.test_core.test_plotly.test_plot.TestPlot)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_plotly/test_plot.py", line 44, in test_plot_valid
    saved_fig = py.get_figure(url)
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 476, in get_figure
    return tools.get_valid_graph_obj(figure, obj_type='Figure')
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1368, in get_valid_graph_obj
    return cls(obj, _raise=False)
TypeError: __init__() got an unexpected keyword argument '_raise'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://plot.ly:443 "POST /clientresp HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/plots/PlotlyImageTest:81/content?inline_data=true HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_initialize_stream_plot (plotly.tests.test_core.test_stream.test_stream.TestStreaming)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_stream/test_stream.py", line 38, in test_initialize_stream_plot
    filename='stream-test')
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 205, in plot
    for key, val in list(entry.items()):
AttributeError: 'Scatter' object has no attribute 'items'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_stream_layout (plotly.tests.test_core.test_stream.test_stream.TestStreaming)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_stream/test_stream.py", line 79, in test_stream_layout
    filename='stream-test')
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 205, in plot
    for key, val in list(entry.items()):
AttributeError: 'Scatter' object has no attribute 'items'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_stream_multiple_points (plotly.tests.test_core.test_stream.test_stream.TestStreaming)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_stream/test_stream.py", line 64, in test_stream_multiple_points
    filename='stream-test')
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 205, in plot
    for key, val in list(entry.items()):
AttributeError: 'Scatter' object has no attribute 'items'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_stream_single_points (plotly.tests.test_core.test_stream.test_stream.TestStreaming)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_stream/test_stream.py", line 49, in test_stream_single_points
    filename='stream-test')
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 205, in plot
    for key, val in list(entry.items()):
AttributeError: 'Scatter' object has no attribute 'items'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_stream_unstreamable (plotly.tests.test_core.test_stream.test_stream.TestStreaming)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_stream/test_stream.py", line 118, in test_stream_unstreamable
    my_stream.write(Scatter(x=1, y=10, name='nope'))
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26290, in __init__
    self.x = x
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 25615, in x
    self['x'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 148, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.int' received for the 'x' property of trace.scatter
        Received value: 1

    The 'x' property is an array that may be specified as a tuple, list, or one-dimensional numpy array

-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_stream_validate_data (plotly.tests.test_core.test_stream.test_stream.TestStreaming)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_stream/test_stream.py", line 98, in test_stream_validate_data
    my_stream.write(dict(x=1, y=10, z=[1]))  # assumes scatter...
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 637, in write
    tools.validate(stream_object, stream_object['type'])
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1392, in validate
    cls(obj)  # this will raise on invalid keys/items
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26250, in __init__
    self.cliponaxis = cliponaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 24563, in cliponaxis
    self['cliponaxis'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 275, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.dict' received for the 'cliponaxis' property of trace.scatter
        Received value: {'x': 1, 'y': 10, 'z': [1], 'type': 'scatter'}

    The 'cliponaxis' property must be specified as a bool (either True, or False)

-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_stream_validate_layout (plotly.tests.test_core.test_stream.test_stream.TestStreaming)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_stream/test_stream.py", line 107, in test_stream_validate_layout
    my_stream.write(Scatter(x=1, y=10), layout=Layout(legend=True))
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26290, in __init__
    self.x = x
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 25615, in x
    self['x'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 148, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.int' received for the 'x' property of trace.scatter
        Received value: 1

    The 'x' property is an array that may be specified as a tuple, list, or one-dimensional numpy array

-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: plotly.tests.test_core.test_tools.test_get_subplots.test_get_single_plot
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_get_subplots.py", line 44, in test_get_single_plot
    anchor='x1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: plotly.tests.test_core.test_tools.test_get_subplots.test_two_row
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_get_subplots.py", line 69, in test_two_row
    anchor='x2'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: plotly.tests.test_core.test_tools.test_get_subplots.test_two_column
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_get_subplots.py", line 94, in test_two_column
    anchor='x2'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: plotly.tests.test_core.test_tools.test_get_subplots.test_a_lot
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_get_subplots.py", line 328, in test_a_lot
    anchor='x9'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: plotly.tests.test_core.test_tools.test_get_subplots.test_spacing
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_get_subplots.py", line 388, in test_spacing
    anchor='x6'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: plotly.tests.test_core.test_tools.test_get_subplots.test_default_spacing
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_get_subplots.py", line 642, in test_default_spacing
    anchor='x9'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_a_lot (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 417, in test_a_lot
    anchor='x9'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_a_lot_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 650, in test_a_lot_bottom_left
    anchor='x9'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_insets (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1674, in test_insets
    anchor='x5'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_insets_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1725, in test_insets_bottom_left
    anchor='x5'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_insets_multiple (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1769, in test_insets_multiple
    anchor='x4'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_insets_multiple_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1811, in test_insets_multiple_bottom_left
    anchor='x4'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_shared_axes_list (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1481, in test_shared_axes_list
    anchor='x3'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_shared_axes_list_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1517, in test_shared_axes_list_bottom_left
    anchor='x3'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_shared_axes_list_of_lists (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1570, in test_shared_axes_list_of_lists
    position=0.7111111111111111
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_shared_axes_list_of_lists_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1623, in test_shared_axes_list_of_lists_bottom_left
    position=0.7111111111111111
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_shared_xaxes (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1246, in test_shared_xaxes
    anchor='x3'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_shared_xaxes_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1294, in test_shared_xaxes_bottom_left
    position=0.7111111111111111
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_shared_xaxes_yaxes (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1406, in test_shared_xaxes_yaxes
    anchor='x1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_shared_xaxes_yaxes_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1444, in test_shared_xaxes_yaxes_bottom_left
    position=0.0
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_shared_yaxes (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1369, in test_shared_yaxes
    anchor='x9'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_single_plot (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 112, in test_single_plot
    anchor='x1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_spacing (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 707, in test_spacing
    anchor='x6'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_specs (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 750, in test_specs
    anchor='x4'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_specs_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 793, in test_specs_bottom_left
    anchor='x4'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_specs_colspan (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 845, in test_specs_colspan
    anchor='x5'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_specs_colspan_rowpan (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1015, in test_specs_colspan_rowpan
    anchor='x6'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_specs_colspan_rowpan_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1074, in test_specs_colspan_rowpan_bottom_left
    anchor='x6'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_specs_is_3d (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1108, in test_specs_is_3d
    anchor='x2'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received scene1

======================================================================
ERROR: test_specs_padding (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1150, in test_specs_padding
    anchor='x4'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_specs_padding_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1194, in test_specs_padding_bottom_left
    anchor='x4'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_specs_rowspan (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 905, in test_specs_rowspan
    anchor='x6'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_specs_rowspan2 (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 956, in test_specs_rowspan2
    anchor='x5'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_subplot_titles_1x3 (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1933, in test_subplot_titles_1x3
    anchor='x3'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_subplot_titles_2x1 (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 1864, in test_subplot_titles_2x1
    anchor='x2'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_subplot_titles_insets (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 2123, in test_subplot_titles_insets
    anchor='x2'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_subplot_titles_irregular_layout (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 2081, in test_subplot_titles_irregular_layout
    anchor='x3'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_subplot_titles_shared_axes (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 2008, in test_subplot_titles_shared_axes
    anchor='x1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_two_column (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 185, in test_two_column
    anchor='x2'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_two_row (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 136, in test_two_row
    anchor='x2'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_two_row_bottom_left (plotly.tests.test_core.test_tools.test_make_subplots.TestMakeSubplots)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_make_subplots.py", line 160, in test_two_row_bottom_left
    anchor='x2'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: plotly.tests.test_core.test_tools.test_validate.test_validate_valid_fig
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_validate.py", line 21, in test_validate_valid_fig
    tls.validate(fig, 'Figure')
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1392, in validate
    cls(obj)  # this will raise on invalid keys/items
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 43, in __init__
    data = self._data_validator.validate_coerce(data)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1268, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.dict' received for the 'data' property of figure
        Received value: {'layout': {'title': 'something'}, 'data': [{'x': [1, 2, 3], 'y': [2, 1, 2]}]}

    The 'data' property is a tuple of trace instances that may be specified as:
      - A list or tuple of trace instances
        (e.g. [Scatter(...), Bar(...)])
      - A list or tuple of dicts of string/value properties where:
        - The 'type' property specifies the trace type
            One of: ['area', 'bar', 'box', 'candlestick', 'carpet', 'choropleth', 'contour',
                     'contourcarpet', 'heatmap', 'heatmapgl',
                     'histogram', 'histogram2d', 'histogram2dcontour',
                     'mesh3d', 'ohlc', 'parcoords', 'pie', 'pointcloud',
                     'sankey', 'scatter', 'scatter3d', 'scattercarpet',
                     'scattergeo', 'scattergl', 'scattermapbox',
                     'scatterpolar', 'scatterpolargl', 'scatterternary',
                     'surface', 'table', 'violin']

        - All remaining properties are passed to the constructor of the specified trace type

        (e.g. [{'type': 'scatter', ...}, {'type': 'bar, ...}])


======================================================================
ERROR: plotly.tests.test_core.test_tools.test_validate.test_validate_invalid_fig
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 60, in newfunc
    func(*arg, **kw)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_tools/test_validate.py", line 35, in test_validate_invalid_fig
    tls.validate(fig, 'Figure')
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1392, in validate
    cls(obj)  # this will raise on invalid keys/items
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 43, in __init__
    data = self._data_validator.validate_coerce(data)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1268, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.dict' received for the 'data' property of figure
        Received value: {'layout': {'title': 'something'}, 'data': {'x': [1, 2, 3], 'y': [2, 1, 2]}}

    The 'data' property is a tuple of trace instances that may be specified as:
      - A list or tuple of trace instances
        (e.g. [Scatter(...), Bar(...)])
      - A list or tuple of dicts of string/value properties where:
        - The 'type' property specifies the trace type
            One of: ['area', 'bar', 'box', 'candlestick', 'carpet', 'choropleth', 'contour',
                     'contourcarpet', 'heatmap', 'heatmapgl',
                     'histogram', 'histogram2d', 'histogram2dcontour',
                     'mesh3d', 'ohlc', 'parcoords', 'pie', 'pointcloud',
                     'sankey', 'scatter', 'scatter3d', 'scattercarpet',
                     'scattergeo', 'scattergl', 'scattermapbox',
                     'scatterpolar', 'scatterpolargl', 'scatterternary',
                     'surface', 'table', 'violin']

        - All remaining properties are passed to the constructor of the specified trace type

        (e.g. [{'type': 'scatter', ...}, {'type': 'bar, ...}])


======================================================================
ERROR: test_full_bullet (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestBullet)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 2278, in test_full_bullet
    'symbol': 'hourglass'}}
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_bullet.py", line 342, in create_bullet
    scatter_options, layout_options,
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_bullet.py", line 34, in _bullet
    vertical_spacing=vertical_spacing
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1149, in make_subplots
    x_anchor, x_position)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1082, in _add_domain
    layout[name] = axis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: test_colorscale_and_levels_same_length (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestChoropleth)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 2749, in test_colorscale_and_levels_same_length
    colorscale=['rgb(0,0,0)']
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 733, in assertRaises
    return context.handle('assertRaises', args, kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 178, in handle
    callable_obj(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_county_choropleth.py", line 570, in create_choropleth
    state_to_st_dict)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_county_choropleth.py", line 26, in _create_us_counties_df
    df_shape_pre2010 = gp.read_file(shape_pre2010)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/geopandas/io/file.py", line 19, in read_file
    with fiona.open(filename, **kwargs) as f:
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/fiona/__init__.py", line 162, in open
    raise IOError("no such file or directory: %r" % path)
OSError: no such file or directory: 'plotly/package_data/data/gz_2010_us_050_00_500k/gz_2010_us_050_00_500k.shp'

======================================================================
ERROR: test_correct_order_param (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestChoropleth)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 2742, in test_correct_order_param
    fips=[1], values=[1], order=[1, 1, 1]
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 1320, in deprecated_func
    return original_func(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 1267, in assertRaisesRegex
    return context.handle('assertRaisesRegex', args, kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 178, in handle
    callable_obj(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_county_choropleth.py", line 570, in create_choropleth
    state_to_st_dict)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_county_choropleth.py", line 26, in _create_us_counties_df
    df_shape_pre2010 = gp.read_file(shape_pre2010)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/geopandas/io/file.py", line 19, in read_file
    with fiona.open(filename, **kwargs) as f:
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/fiona/__init__.py", line 162, in open
    raise IOError("no such file or directory: %r" % path)
OSError: no such file or directory: 'plotly/package_data/data/gz_2010_us_050_00_500k/gz_2010_us_050_00_500k.shp'

======================================================================
ERROR: test_fips_values_same_length (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestChoropleth)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 2729, in test_fips_values_same_length
    fips=[1001], values=[4004, 40004]
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 1320, in deprecated_func
    return original_func(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 1267, in assertRaisesRegex
    return context.handle('assertRaisesRegex', args, kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 178, in handle
    callable_obj(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_county_choropleth.py", line 570, in create_choropleth
    state_to_st_dict)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_county_choropleth.py", line 26, in _create_us_counties_df
    df_shape_pre2010 = gp.read_file(shape_pre2010)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/geopandas/io/file.py", line 19, in read_file
    with fiona.open(filename, **kwargs) as f:
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/fiona/__init__.py", line 162, in open
    raise IOError("no such file or directory: %r" % path)
OSError: no such file or directory: 'plotly/package_data/data/gz_2010_us_050_00_500k/gz_2010_us_050_00_500k.shp'

======================================================================
ERROR: test_full_choropleth (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestChoropleth)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 2766, in test_full_choropleth
    simplify_county=1
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_county_choropleth.py", line 570, in create_choropleth
    state_to_st_dict)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_county_choropleth.py", line 26, in _create_us_counties_df
    df_shape_pre2010 = gp.read_file(shape_pre2010)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/geopandas/io/file.py", line 19, in read_file
    with fiona.open(filename, **kwargs) as f:
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/fiona/__init__.py", line 162, in open
    raise IOError("no such file or directory: %r" % path)
OSError: no such file or directory: 'plotly/package_data/data/gz_2010_us_050_00_500k/gz_2010_us_050_00_500k.shp'

======================================================================
ERROR: test_scope_is_not_list (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestChoropleth)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 2758, in test_scope_is_not_list
    fips=[1001, 1003], values=[5, 2], scope='foo',
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 1320, in deprecated_func
    return original_func(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 1267, in assertRaisesRegex
    return context.handle('assertRaisesRegex', args, kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 178, in handle
    callable_obj(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_county_choropleth.py", line 570, in create_choropleth
    state_to_st_dict)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_county_choropleth.py", line 26, in _create_us_counties_df
    df_shape_pre2010 = gp.read_file(shape_pre2010)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/geopandas/io/file.py", line 19, in read_file
    with fiona.open(filename, **kwargs) as f:
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/fiona/__init__.py", line 162, in open
    raise IOError("no such file or directory: %r" % path)
OSError: no such file or directory: 'plotly/package_data/data/gz_2010_us_050_00_500k/gz_2010_us_050_00_500k.shp'

======================================================================
ERROR: test_default_dendrogram (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDendrogram)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 455, in test_default_dendrogram
    dendro = ff.create_dendrogram(X=X)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_dendrogram.py", line 93, in create_dendrogram
    return graph_objs.Figure(data=dendrogram.data, layout=dendrogram.layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 62, in __init__
    layout = self._layout_validator.validate_coerce(layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1133, in validate_coerce
    v = self.data_class(**v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2799, in __init__
    self.height = height
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1673, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 537, in height
    self['height'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 358, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'height' property of layout
        Received value: '100%'

    The 'height' property is a number and may be specified as:
      - An int or float in the interval [10, inf]


======================================================================
ERROR: test_dendrogram_colorscale (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDendrogram)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 677, in test_dendrogram_colorscale
    dendro = ff.create_dendrogram(X, colorscale=greyscale)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_dendrogram.py", line 93, in create_dendrogram
    return graph_objs.Figure(data=dendrogram.data, layout=dendrogram.layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 62, in __init__
    layout = self._layout_validator.validate_coerce(layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1133, in validate_coerce
    v = self.data_class(**v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2799, in __init__
    self.height = height
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1673, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 537, in height
    self['height'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 358, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'height' property of layout
        Received value: '100%'

    The 'height' property is a number and may be specified as:
      - An int or float in the interval [10, inf]


======================================================================
ERROR: test_dendrogram_orientation (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDendrogram)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 642, in test_dendrogram_orientation
    dendro_left = ff.create_dendrogram(X, orientation='left')
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_dendrogram.py", line 93, in create_dendrogram
    return graph_objs.Figure(data=dendrogram.data, layout=dendrogram.layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 62, in __init__
    layout = self._layout_validator.validate_coerce(layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1133, in validate_coerce
    v = self.data_class(**v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2799, in __init__
    self.height = height
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1673, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 537, in height
    self['height'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 358, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'height' property of layout
        Received value: '100%'

    The 'height' property is a number and may be specified as:
      - An int or float in the interval [10, inf]


======================================================================
ERROR: test_dendrogram_random_matrix (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDendrogram)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 540, in test_dendrogram_random_matrix
    dendro = ff.create_dendrogram(X, labels=names)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_dendrogram.py", line 93, in create_dendrogram
    return graph_objs.Figure(data=dendrogram.data, layout=dendrogram.layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 62, in __init__
    layout = self._layout_validator.validate_coerce(layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1133, in validate_coerce
    v = self.data_class(**v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2799, in __init__
    self.height = height
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1673, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 537, in height
    self['height'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 358, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'height' property of layout
        Received value: '100%'

    The 'height' property is a number and may be specified as:
      - An int or float in the interval [10, inf]


======================================================================
ERROR: test_distplot_more_args_prob (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 218, in test_distplot_more_args_prob
    show_rug=False, bin_size=.2)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_distplot.py", line 230, in create_distplot
    position=0.0))
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_distplot_more_args_prob_dens (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 156, in test_distplot_more_args_prob_dens
    show_rug=False, bin_size=.2)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_distplot.py", line 230, in create_distplot
    position=0.0))
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_simple_distplot_prob (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 99, in test_simple_distplot_prob
    group_labels=['distplot'], histnorm='probability')
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_distplot.py", line 219, in create_distplot
    showticklabels=False))
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_simple_distplot_prob_density (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestDistplot)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 53, in test_simple_distplot_prob_density
    histnorm='probability density')
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_distplot.py", line 219, in create_distplot
    showticklabels=False))
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2733, in __init__
    super().__init__('layout', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1640, in __init__
    self._set_subplotid_prop(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1649, in _set_subplotid_prop
    'Received {k}'.format(k=prop))
TypeError: Subplot properties may only be suffixed by an integer > 1
Received xaxis1

======================================================================
ERROR: test_valid_facet_grid_fig (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestFacetGrid)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1318, in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
    self.send(msg)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
    self.connect()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1400, in connect
    server_hostname=server_hostname)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 401, in wrap_socket
    _context=self, _session=session)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 808, in __init__
    self.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1061, in do_handshake
    self._sslobj.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 683, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 2054, in test_valid_facet_grid_fig
    mpg = pd.read_table('https://raw.githubusercontent.com/plotly/datasets/master/mpg_2017.txt')
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/pandas/io/parsers.py", line 646, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/pandas/io/parsers.py", line 375, in _read
    compression=kwds.get('compression', None))
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/pandas/io/common.py", line 238, in get_filepath_or_buffer
    req = _urlopen(str(filepath_or_buffer))
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 526, in open
    response = self._open(req, data)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 544, in _open
    '_open', req)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1361, in https_open
    context=self._context, check_hostname=self._check_hostname)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1320, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748)>

======================================================================
ERROR: test_scatter_plot_matrix (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 1156, in test_scatter_plot_matrix
    title='Scatterplot Matrix'
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_scatterplot.py", line 1094, in create_scatterplotmatrix
    title, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_scatterplot.py", line 141, in scatterplot
    fig = make_subplots(rows=dim, cols=dim, print_grid=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1149, in make_subplots
    x_anchor, x_position)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1082, in _add_domain
    layout[name] = axis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: test_scatter_plot_matrix_kwargs (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestScatterPlotMatrix)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 1240, in test_scatter_plot_matrix_kwargs
    colormap='YlOrRd', marker=dict(symbol=136)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_scatterplot.py", line 1134, in create_scatterplotmatrix
    **kwargs
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_scatterplot.py", line 398, in scatterplot_theme
    fig = make_subplots(rows=dim, cols=dim, print_grid=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1149, in make_subplots
    x_anchor, x_position)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1082, in _add_domain
    layout[name] = axis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: test_trisurf_all_args (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestTrisurf)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 851, in test_trisurf_all_args
    x, y, z, simplices
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_trisurf.py", line 465, in create_trisurf
    edges_color=edges_color, plot_edges=plot_edges)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_trisurf.py", line 164, in trisurf
    showlegend=False
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 27855, in __init__
    self.hoverinfo = hoverinfo
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26597, in hoverinfo
    self['hoverinfo'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 927, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'hoverinfo' property of trace.scatter3d
        Received value: 'None'

    The 'hoverinfo' property is a flaglist and may be specified as a string containing:
      - Any combination of ['x', 'y', 'z', 'text', 'name'] joined with '+' characters (e.g. 'x+y')
        OR exactly one of ['all', 'none', 'skip'] (e.g. 'skip')
      - A list or array of the above


======================================================================
ERROR: test_violin_fig (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestViolin)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 1534, in test_violin_fig
    test_violin = ff.create_violin(data=[1, 2])
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_violin.py", line 588, in create_violin
    layout['yaxis'].update(dict(showline=False,
AttributeError: 'YAxis' object has no attribute 'update'

======================================================================
ERROR: test_figure_to_dataframe (plotly.tests.test_optional.test_graph_objs.test_to_dataframe.TestToDataframe)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_graph_objs/test_to_dataframe.py", line 106, in test_figure_to_dataframe
    df = self.fig.to_dataframe()
AttributeError: 'Figure' object has no attribute 'to_dataframe'

======================================================================
ERROR: Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)

)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 675, in _load
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_annotations.py", line 17, in <module>
    from plotly.tests.test_optional.test_matplotlylib.data.annotations import *
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/data/annotations.py", line 19, in <module>
    yaxis='y1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26292, in __init__
    self.xaxis = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 25651, in xaxis
    self['xaxis'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 844, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)



======================================================================
ERROR: Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)

)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 675, in _load
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_axis_scales.py", line 8, in <module>
    from plotly.tests.test_optional.test_matplotlylib.data.axis_scales import *
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/data/axis_scales.py", line 23, in <module>
    yaxis='y1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26292, in __init__
    self.xaxis = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 25651, in xaxis
    self['xaxis'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 844, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)



======================================================================
ERROR: Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.bar
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)

)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 675, in _load
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_bars.py", line 8, in <module>
    from plotly.tests.test_optional.test_matplotlylib.data.bars import *
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/data/bars.py", line 31, in <module>
    yaxis='y1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 2394, in __init__
    self.xaxis = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 1768, in xaxis
    self['xaxis'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 844, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.bar
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)



======================================================================
ERROR: plotly.tests.test_optional.test_matplotlylib.test_data.test_line_data
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_data.py", line 23, in test_line_data
    renderer = run_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/optional_utils.py", line 21, in run_fig
    exporter.run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: plotly.tests.test_optional.test_matplotlylib.test_data.test_lines_data
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_data.py", line 37, in test_lines_data
    renderer = run_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/optional_utils.py", line 21, in run_fig
    exporter.run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: plotly.tests.test_optional.test_matplotlylib.test_data.test_bar_data
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_data.py", line 56, in test_bar_data
    renderer = run_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/optional_utils.py", line 21, in run_fig
    exporter.run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: plotly.tests.test_optional.test_matplotlylib.test_data.test_bars_data
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_data.py", line 67, in test_bars_data
    renderer = run_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/optional_utils.py", line 21, in run_fig
    exporter.run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: test_normal_mpl_dates (plotly.tests.test_optional.test_matplotlylib.test_date_times.TestDateTimes)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_date_times.py", line 47, in test_normal_mpl_dates
    pfig = tls.mpl_to_plotly(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 459, in mpl_to_plotly
    matplotlylib.Exporter(renderer).run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: test_pandas_time_series_date_formatter (plotly.tests.test_optional.test_matplotlylib.test_date_times.TestDateTimes)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_date_times.py", line 67, in test_pandas_time_series_date_formatter
    pfig = tls.mpl_to_plotly(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 459, in mpl_to_plotly
    matplotlylib.Exporter(renderer).run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)

)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 675, in _load
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_lines.py", line 8, in <module>
    from plotly.tests.test_optional.test_matplotlylib.data.lines import *
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/data/lines.py", line 26, in <module>
    yaxis='y1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26292, in __init__
    self.xaxis = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 25651, in xaxis
    self['xaxis'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 844, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)



======================================================================
ERROR: Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'symbol' property of trace.scatter.marker
        Received value: 'dot'

    The 'symbol' property is an enumeration that may be specified as:
      - One of the following enumeration values:
            [0, 'circle', 100, 'circle-open', 200, 'circle-dot', 300,
            'circle-open-dot', 1, 'square', 101, 'square-open', 201,
            'square-dot', 301, 'square-open-dot', 2, 'diamond', 102,
            'diamond-open', 202, 'diamond-dot', 302,
            'diamond-open-dot', 3, 'cross', 103, 'cross-open', 203,
            'cross-dot', 303, 'cross-open-dot', 4, 'x', 104, 'x-open',
            204, 'x-dot', 304, 'x-open-dot', 5, 'triangle-up', 105,
            'triangle-up-open', 205, 'triangle-up-dot', 305,
            'triangle-up-open-dot', 6, 'triangle-down', 106,
            'triangle-down-open', 206, 'triangle-down-dot', 306,
            'triangle-down-open-dot', 7, 'triangle-left', 107,
            'triangle-left-open', 207, 'triangle-left-dot', 307,
            'triangle-left-open-dot', 8, 'triangle-right', 108,
            'triangle-right-open', 208, 'triangle-right-dot', 308,
            'triangle-right-open-dot', 9, 'triangle-ne', 109,
            'triangle-ne-open', 209, 'triangle-ne-dot', 309,
            'triangle-ne-open-dot', 10, 'triangle-se', 110,
            'triangle-se-open', 210, 'triangle-se-dot', 310,
            'triangle-se-open-dot', 11, 'triangle-sw', 111,
            'triangle-sw-open', 211, 'triangle-sw-dot', 311,
            'triangle-sw-open-dot', 12, 'triangle-nw', 112,
            'triangle-nw-open', 212, 'triangle-nw-dot', 312,
            'triangle-nw-open-dot', 13, 'pentagon', 113,
            'pentagon-open', 213, 'pentagon-dot', 313,
            'pentagon-open-dot', 14, 'hexagon', 114, 'hexagon-open',
            214, 'hexagon-dot', 314, 'hexagon-open-dot', 15,
            'hexagon2', 115, 'hexagon2-open', 215, 'hexagon2-dot',
            315, 'hexagon2-open-dot', 16, 'octagon', 116,
            'octagon-open', 216, 'octagon-dot', 316,
            'octagon-open-dot', 17, 'star', 117, 'star-open', 217,
            'star-dot', 317, 'star-open-dot', 18, 'hexagram', 118,
            'hexagram-open', 218, 'hexagram-dot', 318,
            'hexagram-open-dot', 19, 'star-triangle-up', 119,
            'star-triangle-up-open', 219, 'star-triangle-up-dot', 319,
            'star-triangle-up-open-dot', 20, 'star-triangle-down',
            120, 'star-triangle-down-open', 220,
            'star-triangle-down-dot', 320,
            'star-triangle-down-open-dot', 21, 'star-square', 121,
            'star-square-open', 221, 'star-square-dot', 321,
            'star-square-open-dot', 22, 'star-diamond', 122,
            'star-diamond-open', 222, 'star-diamond-dot', 322,
            'star-diamond-open-dot', 23, 'diamond-tall', 123,
            'diamond-tall-open', 223, 'diamond-tall-dot', 323,
            'diamond-tall-open-dot', 24, 'diamond-wide', 124,
            'diamond-wide-open', 224, 'diamond-wide-dot', 324,
            'diamond-wide-open-dot', 25, 'hourglass', 125,
            'hourglass-open', 26, 'bowtie', 126, 'bowtie-open', 27,
            'circle-cross', 127, 'circle-cross-open', 28, 'circle-x',
            128, 'circle-x-open', 29, 'square-cross', 129,
            'square-cross-open', 30, 'square-x', 130, 'square-x-open',
            31, 'diamond-cross', 131, 'diamond-cross-open', 32,
            'diamond-x', 132, 'diamond-x-open', 33, 'cross-thin', 133,
            'cross-thin-open', 34, 'x-thin', 134, 'x-thin-open', 35,
            'asterisk', 135, 'asterisk-open', 36, 'hash', 136,
            'hash-open', 236, 'hash-dot', 336, 'hash-open-dot', 37,
            'y-up', 137, 'y-up-open', 38, 'y-down', 138,
            'y-down-open', 39, 'y-left', 139, 'y-left-open', 40,
            'y-right', 140, 'y-right-open', 41, 'line-ew', 141,
            'line-ew-open', 42, 'line-ns', 142, 'line-ns-open', 43,
            'line-ne', 143, 'line-ne-open', 44, 'line-nw', 144,
            'line-nw-open']
      - A tuple, list, or one-dimensional numpy array of the above
)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 675, in _load
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_scatter.py", line 8, in <module>
    from plotly.tests.test_optional.test_matplotlylib.data.scatter import *
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/data/scatter.py", line 30, in <module>
    yaxis='y1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26270, in __init__
    self.marker = marker
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 25216, in marker
    self['marker'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1402, in __setitem__
    self._set_compound_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1458, in _set_compound_prop
    val = validator.validate_coerce(val)  # type: BasePlotlyType
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1133, in validate_coerce
    v = self.data_class(**v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/scatter/__init__.py", line 2539, in __init__
    self.symbol = symbol
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/scatter/__init__.py", line 2237, in symbol
    self['symbol'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 248, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'symbol' property of trace.scatter.marker
        Received value: 'dot'

    The 'symbol' property is an enumeration that may be specified as:
      - One of the following enumeration values:
            [0, 'circle', 100, 'circle-open', 200, 'circle-dot', 300,
            'circle-open-dot', 1, 'square', 101, 'square-open', 201,
            'square-dot', 301, 'square-open-dot', 2, 'diamond', 102,
            'diamond-open', 202, 'diamond-dot', 302,
            'diamond-open-dot', 3, 'cross', 103, 'cross-open', 203,
            'cross-dot', 303, 'cross-open-dot', 4, 'x', 104, 'x-open',
            204, 'x-dot', 304, 'x-open-dot', 5, 'triangle-up', 105,
            'triangle-up-open', 205, 'triangle-up-dot', 305,
            'triangle-up-open-dot', 6, 'triangle-down', 106,
            'triangle-down-open', 206, 'triangle-down-dot', 306,
            'triangle-down-open-dot', 7, 'triangle-left', 107,
            'triangle-left-open', 207, 'triangle-left-dot', 307,
            'triangle-left-open-dot', 8, 'triangle-right', 108,
            'triangle-right-open', 208, 'triangle-right-dot', 308,
            'triangle-right-open-dot', 9, 'triangle-ne', 109,
            'triangle-ne-open', 209, 'triangle-ne-dot', 309,
            'triangle-ne-open-dot', 10, 'triangle-se', 110,
            'triangle-se-open', 210, 'triangle-se-dot', 310,
            'triangle-se-open-dot', 11, 'triangle-sw', 111,
            'triangle-sw-open', 211, 'triangle-sw-dot', 311,
            'triangle-sw-open-dot', 12, 'triangle-nw', 112,
            'triangle-nw-open', 212, 'triangle-nw-dot', 312,
            'triangle-nw-open-dot', 13, 'pentagon', 113,
            'pentagon-open', 213, 'pentagon-dot', 313,
            'pentagon-open-dot', 14, 'hexagon', 114, 'hexagon-open',
            214, 'hexagon-dot', 314, 'hexagon-open-dot', 15,
            'hexagon2', 115, 'hexagon2-open', 215, 'hexagon2-dot',
            315, 'hexagon2-open-dot', 16, 'octagon', 116,
            'octagon-open', 216, 'octagon-dot', 316,
            'octagon-open-dot', 17, 'star', 117, 'star-open', 217,
            'star-dot', 317, 'star-open-dot', 18, 'hexagram', 118,
            'hexagram-open', 218, 'hexagram-dot', 318,
            'hexagram-open-dot', 19, 'star-triangle-up', 119,
            'star-triangle-up-open', 219, 'star-triangle-up-dot', 319,
            'star-triangle-up-open-dot', 20, 'star-triangle-down',
            120, 'star-triangle-down-open', 220,
            'star-triangle-down-dot', 320,
            'star-triangle-down-open-dot', 21, 'star-square', 121,
            'star-square-open', 221, 'star-square-dot', 321,
            'star-square-open-dot', 22, 'star-diamond', 122,
            'star-diamond-open', 222, 'star-diamond-dot', 322,
            'star-diamond-open-dot', 23, 'diamond-tall', 123,
            'diamond-tall-open', 223, 'diamond-tall-dot', 323,
            'diamond-tall-open-dot', 24, 'diamond-wide', 124,
            'diamond-wide-open', 224, 'diamond-wide-dot', 324,
            'diamond-wide-open-dot', 25, 'hourglass', 125,
            'hourglass-open', 26, 'bowtie', 126, 'bowtie-open', 27,
            'circle-cross', 127, 'circle-cross-open', 28, 'circle-x',
            128, 'circle-x-open', 29, 'square-cross', 129,
            'square-cross-open', 30, 'square-x', 130, 'square-x-open',
            31, 'diamond-cross', 131, 'diamond-cross-open', 32,
            'diamond-x', 132, 'diamond-x-open', 33, 'cross-thin', 133,
            'cross-thin-open', 34, 'x-thin', 134, 'x-thin-open', 35,
            'asterisk', 135, 'asterisk-open', 36, 'hash', 136,
            'hash-open', 236, 'hash-dot', 336, 'hash-open-dot', 37,
            'y-up', 137, 'y-up-open', 38, 'y-down', 138,
            'y-down-open', 39, 'y-left', 139, 'y-left-open', 40,
            'y-right', 140, 'y-right-open', 41, 'line-ew', 141,
            'line-ew-open', 42, 'line-ns', 142, 'line-ns-open', 43,
            'line-ne', 143, 'line-ne-open', 44, 'line-nw', 144,
            'line-nw-open']
      - A tuple, list, or one-dimensional numpy array of the above


======================================================================
ERROR: Failure: ValueError (
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)

)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 675, in _load
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/test_subplots.py", line 8, in <module>
    from plotly.tests.test_optional.test_matplotlylib.data.subplots import *
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_matplotlylib/data/subplots.py", line 24, in <module>
    yaxis='y1'
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 26292, in __init__
    self.xaxis = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 25651, in xaxis
    self['xaxis'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 844, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'xaxis' property of trace.scatter
        Received value: 'x1'

    The 'xaxis' property is an identifier of a particular subplot, of type 'x', that
    may be specified as the string 'x' optionally followed by an integer > 1
    (e.g. 'x', 'x2', 'x3', etc.)



======================================================================
ERROR: test_default_mpl_plot_generates_expected_html (plotly.tests.test_optional.test_offline.test_offline.PlotlyOfflineMPLTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_offline/test_offline.py", line 75, in test_default_mpl_plot_generates_expected_html
    figure = plotly.tools.mpl_to_plotly(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 459, in mpl_to_plotly
    matplotlylib.Exporter(renderer).run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: test_iplot_mpl_works (plotly.tests.test_optional.test_offline.test_offline.PlotlyOfflineTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_offline/test_offline.py", line 52, in test_iplot_mpl_works
    plotly.offline.iplot_mpl(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/offline/offline.py", line 672, in iplot_mpl
    plotly_plot = tools.mpl_to_plotly(mpl_fig, resize, strip_style, verbose)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 459, in mpl_to_plotly
    matplotlylib.Exporter(renderer).run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
ERROR: test_update (plotly.tests.test_optional.test_plotly.test_plot_mpl.PlotMPLTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_plotly/test_plot_mpl.py", line 54, in test_update
    auto_open=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 303, in plot_mpl
    fig = tools.mpl_to_plotly(fig, resize=resize, strip_style=strip_style)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 459, in mpl_to_plotly
    matplotlylib.Exporter(renderer).run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_update_type_error (plotly.tests.test_optional.test_plotly.test_plot_mpl.PlotMPLTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 60, in newfunc
    func(*arg, **kw)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_plotly/test_plot_mpl.py", line 38, in test_update_type_error
    py.plot_mpl(fig, update=update, filename="nosetests", auto_open=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 303, in plot_mpl
    fig = tools.mpl_to_plotly(fig, resize=resize, strip_style=strip_style)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 459, in mpl_to_plotly
    matplotlylib.Exporter(renderer).run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_update_validation_error (plotly.tests.test_optional.test_plotly.test_plot_mpl.PlotMPLTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 60, in newfunc
    func(*arg, **kw)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_plotly/test_plot_mpl.py", line 45, in test_update_validation_error
    py.plot_mpl(fig, update=update, filename="nosetests", auto_open=False)
  File "/Users/chriddyp/Repos/plotly.py/plotly/plotly/plotly.py", line 303, in plot_mpl
    fig = tools.mpl_to_plotly(fig, resize=resize, strip_style=strip_style)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 459, in mpl_to_plotly
    matplotlylib.Exporter(renderer).run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'
-------------------- >> begin captured logging << --------------------
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection (1): api.plot.ly
requests.packages.urllib3.connectionpool: DEBUG: https://api.plot.ly:443 "GET /v2/users/current HTTP/1.1" 200 None
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_2D_density_all_args (plotly.tests.test_optional.test_tools.test_figure_factory.Test2D_Density)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 1577, in test_2D_density_all_args
    point_size=3, height=800, width=800)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1505, in create_2D_density
    return create_2d_density(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_2d_density.py", line 118, in create_2d_density
    trace2 = graph_objs.Histogram2dcontour(
AttributeError: module 'plotly.graph_objs.graph_objs' has no attribute 'Histogram2dcontour'

======================================================================
ERROR: test_annotated_heatmap_kwargs (plotly.tests.test_optional.test_tools.test_figure_factory.TestAnnotatedHeatmap)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 799, in test_annotated_heatmap_kwargs
    '#e6005a']]
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1511, in create_annotated_heatmap
    return create_annotated_heatmap(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_annotated_heatmap.py", line 112, in create_annotated_heatmap
    return graph_objs.Figure(data=data, layout=layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 62, in __init__
    layout = self._layout_validator.validate_coerce(layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1133, in validate_coerce
    v = self.data_class(**v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2790, in __init__
    self.annotations = annotations
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1673, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 287, in annotations
    self['annotations'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1404, in __setitem__
    self._set_array_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1505, in _set_array_prop
    val = validator.validate_coerce(val)  # type: tuple
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1182, in validate_coerce
    res.append(self.data_class(**v_el))
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/layout/__init__.py", line 1775, in __init__
    self.xref = xref
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/layout/__init__.py", line 1107, in xref
    self['xref'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 248, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'xref' property of layout.annotation
        Received value: 'x1'

    The 'xref' property is an enumeration that may be specified as:
      - One of the following enumeration values:
            ['paper']
      - A string that matches one of the following regular expressions:
            ['^x([2-9]|[1-9][0-9]+)?$']


======================================================================
ERROR: test_simple_annotated_heatmap (plotly.tests.test_optional.test_tools.test_figure_factory.TestAnnotatedHeatmap)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 729, in test_simple_annotated_heatmap
    a_heat = tls.FigureFactory.create_annotated_heatmap(z)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1511, in create_annotated_heatmap
    return create_annotated_heatmap(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_annotated_heatmap.py", line 112, in create_annotated_heatmap
    return graph_objs.Figure(data=data, layout=layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 62, in __init__
    layout = self._layout_validator.validate_coerce(layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1133, in validate_coerce
    v = self.data_class(**v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2790, in __init__
    self.annotations = annotations
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1673, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 287, in annotations
    self['annotations'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1404, in __setitem__
    self._set_array_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1505, in _set_array_prop
    val = validator.validate_coerce(val)  # type: tuple
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1182, in validate_coerce
    res.append(self.data_class(**v_el))
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/layout/__init__.py", line 1775, in __init__
    self.xref = xref
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/layout/__init__.py", line 1107, in xref
    self['xref'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 248, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'xref' property of layout.annotation
        Received value: 'x1'

    The 'xref' property is an enumeration that may be specified as:
      - One of the following enumeration values:
            ['paper']
      - A string that matches one of the following regular expressions:
            ['^x([2-9]|[1-9][0-9]+)?$']


======================================================================
ERROR: test_fontcolor_input (plotly.tests.test_optional.test_tools.test_figure_factory.TestTable)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 867, in test_fontcolor_input
    tls.FigureFactory.create_table, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 733, in assertRaises
    return context.handle('assertRaises', args, kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 178, in handle
    callable_obj(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1571, in create_table
    return create_table(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_table.py", line 130, in create_table
    return graph_objs.Figure(data=data, layout=layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 43, in __init__
    data = self._data_validator.validate_coerce(data)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1250, in validate_coerce
    trace = self.class_map[trace_type](**v_copy)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/trace/__init__.py", line 11828, in __init__
    super().__init__('heatmap', **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1694, in __init__
    super().__init__(plotly_name, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1685, in __init__
    super().__init__(plotly_name, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1230, in __init__
    self._raise_on_invalid_property_error(**kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1278, in _raise_on_invalid_property_error
    prop_descriptions=self._prop_descriptions))
ValueError: Invalid property specified for trace.heatmap: 'fontcolor'

    Valid properties:
        autocolorscale
            Determines whether or not the colorscale is picked using the sign of
            the input z values.
        colorbar

        colorscale
            Sets the colorscale. The colorscale must be an array containing
            arrays mapping a normalized value to an rgb, rgba, hex,
            hsl, hsv, or named color string. At minimum, a mapping
            for the lowest (0) and highest (1) values are required.
            For example, `[[0, 'rgb(0,0,255)', [1,
            'rgb(255,0,0)']]`. To control the bounds of the
            colorscale in z space, use zmin and zmax
        connectgaps
            Determines whether or not gaps (i.e. {nan} or missing values) in the
            `z` data are filled in.
        customdata
            Assigns extra data each datum. This may be useful when listening to
            hover, click and selection events. Note that, *scatter*
            traces also appends customdata items in the markers DOM
            elements
        customdatasrc
            Sets the source reference on plot.ly for  customdata .
        dx
            Sets the x coordinate step. See `x0` for more info.
        dy
            Sets the y coordinate step. See `y0` for more info.
        hoverinfo
            Determines which trace information appear on hover. If `none` or
            `skip` are set, no information is displayed upon
            hovering. But, if `none` is set, click and hover events
            are still fired.
        hoverinfosrc
            Sets the source reference on plot.ly for  hoverinfo .
        hoverlabel

        ids
            Assigns id labels to each datum. These ids for object constancy of
            data points during animation.
        idssrc
            Sets the source reference on plot.ly for  ids .
        legendgroup
            Sets the legend group for this trace. Traces part of the same legend
            group hide/show at the same time when toggling legend
            items.
        name
            Sets the trace name. The trace name appear as the legend item and on
            hover.
        opacity
            Sets the opacity of the trace.
        reversescale
            Reverses the colorscale.
        selectedpoints
            Array containing integer indices of selected points. Has an effect
            only for traces that support selections. Note that an
            empty array means an empty selection where the
            `unselected` are turned on for all points, whereas, any
            other non-array values means no selection all where the
            `selected` and `unselected` styles have no effect.
        showlegend
            Determines whether or not an item corresponding to this trace is
            shown in the legend.
        showscale
            Determines whether or not a colorbar is displayed for this trace.
        stream

        text
            Sets the text elements associated with each z value.
        textsrc
            Sets the source reference on plot.ly for  text .
        transpose
            Transposes the z data.
        uid

        visible
            Determines whether or not this trace is visible. If *legendonly*,
            the trace is not drawn, but can appear as a legend item
            (provided that the legend itself is visible).
        x
            Sets the x coordinates.
        x0
            Alternate to `x`. Builds a linear space of x coordinates. Use with
            `dx` where `x0` is the starting coordinate and `dx` the
            step.
        xaxis
            Sets a reference between this trace's x coordinates and a 2D
            cartesian x axis. If *x* (the default value), the x
            coordinates refer to `layout.xaxis`. If *x2*, the x
            coordinates refer to `layout.xaxis2`, and so on.
        xcalendar
            Sets the calendar system to use with `x` date data.
        xgap
            Sets the horizontal gap (in pixels) between bricks.
        xsrc
            Sets the source reference on plot.ly for  x .
        xtype
            If *array*, the heatmap's x coordinates are given by *x* (the
            default behavior when `x` is provided). If *scaled*, the
            heatmap's x coordinates are given by *x0* and *dx* (the
            default behavior when `x` is not provided).
        y
            Sets the y coordinates.
        y0
            Alternate to `y`. Builds a linear space of y coordinates. Use with
            `dy` where `y0` is the starting coordinate and `dy` the
            step.
        yaxis
            Sets a reference between this trace's y coordinates and a 2D
            cartesian y axis. If *y* (the default value), the y
            coordinates refer to `layout.yaxis`. If *y2*, the y
            coordinates refer to `layout.xaxis2`, and so on.
        ycalendar
            Sets the calendar system to use with `y` date data.
        ygap
            Sets the vertical gap (in pixels) between bricks.
        ysrc
            Sets the source reference on plot.ly for  y .
        ytype
            If *array*, the heatmap's y coordinates are given by *y* (the
            default behavior when `y` is provided) If *scaled*, the
            heatmap's y coordinates are given by *y0* and *dy* (the
            default behavior when `y` is not provided)
        z
            Sets the z data.
        zauto
            Determines the whether or not the color domain is computed with
            respect to the input data.
        zhoverformat
            Sets the hover text formatting rule using d3 formatting mini-
            languages which are very similar to those in Python.
            See: https://github.com/d3/d3-format/blob/master/README.
            md#locale_format
        zmax
            Sets the upper bound of color domain.
        zmin
            Sets the lower bound of color domain.
        zsmooth
            Picks a smoothing algorithm use to smooth `z` data.
        zsrc
            Sets the source reference on plot.ly for  z .


======================================================================
ERROR: test_simple_table (plotly.tests.test_optional.test_tools.test_figure_factory.TestTable)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 880, in test_simple_table
    table = tls.FigureFactory.create_table(text)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1571, in create_table
    return create_table(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_table.py", line 130, in create_table
    return graph_objs.Figure(data=data, layout=layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 62, in __init__
    layout = self._layout_validator.validate_coerce(layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1133, in validate_coerce
    v = self.data_class(**v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2790, in __init__
    self.annotations = annotations
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1673, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 287, in annotations
    self['annotations'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1404, in __setitem__
    self._set_array_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1505, in _set_array_prop
    val = validator.validate_coerce(val)  # type: tuple
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1182, in validate_coerce
    res.append(self.data_class(**v_el))
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/layout/__init__.py", line 1775, in __init__
    self.xref = xref
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/layout/__init__.py", line 1107, in xref
    self['xref'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 248, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'xref' property of layout.annotation
        Received value: 'x1'

    The 'xref' property is an enumeration that may be specified as:
      - One of the following enumeration values:
            ['paper']
      - A string that matches one of the following regular expressions:
            ['^x([2-9]|[1-9][0-9]+)?$']


======================================================================
ERROR: test_table_with_index (plotly.tests.test_optional.test_tools.test_figure_factory.TestTable)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 1023, in test_table_with_index
    index_title='Title')
  File "/Users/chriddyp/Repos/plotly.py/plotly/tools.py", line 1571, in create_table
    return create_table(*args, **kwargs)
  File "/Users/chriddyp/Repos/plotly.py/plotly/figure_factory/_table.py", line 130, in create_table
    return graph_objs.Figure(data=data, layout=layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 10355, in __init__
    super().__init__(data, layout, frames)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 62, in __init__
    layout = self._layout_validator.validate_coerce(layout)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1133, in validate_coerce
    v = self.data_class(**v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 2790, in __init__
    self.annotations = annotations
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1673, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/__init__.py", line 287, in annotations
    self['annotations'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1404, in __setitem__
    self._set_array_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1505, in _set_array_prop
    val = validator.validate_coerce(val)  # type: tuple
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 1182, in validate_coerce
    res.append(self.data_class(**v_el))
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/layout/__init__.py", line 1775, in __init__
    self.xref = xref
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1252, in __setattr__
    super().__setattr__(prop, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/datatypes/layout/__init__.py", line 1107, in xref
    self['xref'] = val
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1407, in __setitem__
    self._set_prop(key, value)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1436, in _set_prop
    val = validator.validate_coerce(val)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 248, in validate_coerce
    self.raise_invalid_val(v)
  File "/Users/chriddyp/Repos/plotly.py/plotly/basevalidators.py", line 106, in raise_invalid_val
    vald_clr_desc=self.description()))
ValueError:
    Invalid value of type 'builtins.str' received for the 'xref' property of layout.annotation
        Received value: 'x1'

    The 'xref' property is an enumeration that may be specified as:
      - One of the following enumeration values:
            ['paper']
      - A string that matches one of the following regular expressions:
            ['^x([2-9]|[1-9][0-9]+)?$']


======================================================================
ERROR: plotly.tests.test_optional.test_utils.test_utils.test_masked_constants_example
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_utils/test_utils.py", line 286, in test_masked_constants_example
    Exporter(renderer).run(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 49, in run
    self.crawl_fig(fig)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 116, in crawl_fig
    self.crawl_ax(ax)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/exporter.py", line 121, in crawl_ax
    props=utils.get_axes_properties(ax)):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/mplexporter/renderers/base.py", line 55, in draw_axes
    self.open_axes(ax=ax, props=props)
  File "/Users/chriddyp/Repos/plotly.py/plotly/matplotlylib/renderer.py", line 177, in open_axes
    self.plotly_fig['layout']['xaxis{0}'.format(self.axis_ct)] = xaxis
  File "/Users/chriddyp/Repos/plotly.py/plotly/basedatatypes.py", line 1397, in __setitem__
    raise KeyError(key)
KeyError: 'xaxis1'

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_annotations.test_weird_instantiation
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 67, in newfunc
    raise AssertionError(message)
AssertionError: test_weird_instantiation() did not raise PlotlyError
-------------------- >> begin captured stdout << ---------------------
[]

--------------------- >> end captured stdout << ----------------------

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_annotations.test_dict_instantiation_key_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 67, in newfunc
    raise AssertionError(message)
AssertionError: test_dict_instantiation_key_error() did not raise PlotlyDictValueError
-------------------- >> begin captured stdout << ---------------------
[{'font': 'not-a-dict'}]

--------------------- >> end captured stdout << ----------------------

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_annotations.test_dict_instantiation_graph_obj_error_0
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 67, in newfunc
    raise AssertionError(message)
AssertionError: test_dict_instantiation_graph_obj_error_0() did not raise PlotlyListEntryError

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_annotations.test_dict_instantiation_graph_obj_error_2
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 67, in newfunc
    raise AssertionError(message)
AssertionError: test_dict_instantiation_graph_obj_error_2() did not raise PlotlyListEntryError

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_data.test_weird_instantiation
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 67, in newfunc
    raise AssertionError(message)
AssertionError: test_weird_instantiation() did not raise PlotlyError
-------------------- >> begin captured stdout << ---------------------
[]

--------------------- >> end captured stdout << ----------------------

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_data.test_default_scatter
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_data.py", line 34, in test_default_scatter
    assert Data([{}]) == list([{'type': 'scatter'}])
AssertionError

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_data.test_dict_instantiation_key_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 67, in newfunc
    raise AssertionError(message)
AssertionError: test_dict_instantiation_key_error() did not raise PlotlyDictValueError
-------------------- >> begin captured stdout << ---------------------
[{'marker': 'not-a-dict'}]

--------------------- >> end captured stdout << ----------------------

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_data.test_dict_instantiation_type_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 67, in newfunc
    raise AssertionError(message)
AssertionError: test_dict_instantiation_type_error() did not raise PlotlyDataTypeError

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_data.test_dict_instantiation_graph_obj_error_0
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 67, in newfunc
    raise AssertionError(message)
AssertionError: test_dict_instantiation_graph_obj_error_0() did not raise PlotlyListEntryError

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_data.test_dict_instantiation_graph_obj_error_2
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 67, in newfunc
    raise AssertionError(message)
AssertionError: test_dict_instantiation_graph_obj_error_2() did not raise PlotlyListEntryError

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_error_bars.test_key_error
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 67, in newfunc
    raise AssertionError(message)
AssertionError: test_key_error() did not raise PlotlyDictKeyError

======================================================================
FAIL: test_access_top_level (plotly.tests.test_core.test_graph_objs.test_figure.FigureTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_figure.py", line 26, in test_access_top_level
    self.assertEqual(Figure().data, [])
AssertionError: () != []

======================================================================
FAIL: test_non_string_frame (plotly.tests.test_core.test_graph_objs.test_frames.FramesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_frames.py", line 42, in test_non_string_frame
    frames.append([])
AssertionError: PlotlyListEntryError not raised

======================================================================
FAIL: test_no_new_classes (plotly.tests.test_core.test_graph_objs.test_graph_objs.TestGraphObjs)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_graph_objs.py", line 49, in test_no_new_classes
    self.assertEqual(current_class_names, expected_class_names)
AssertionError: Items in the first set but not the second:
'FigureWidget'
Items in the second set but not the first:
'Histogram2dcontour'

======================================================================
FAIL: test_traces_should_be_defined (plotly.tests.test_core.test_graph_objs.test_graph_objs.TestGraphObjs)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_graph_objs.py", line 36, in test_traces_should_be_defined
    self.assertIn(class_name, go.__dict__.keys())
AssertionError: 'Histogram2dcontour' not found in dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__path__', '__file__', '__cached__', '__builtins__', 'absolute_import', 'graph_objs_tools', 'graph_objs', 'AngularAxis', 'Annotation', 'Annotations', 'Area', 'Bar', 'Box', 'ColorBar', 'Contour', 'Contours', 'Data', 'ErrorX', 'ErrorY', 'ErrorZ', 'Figure', 'Font', 'Frames', 'Heatmap', 'Histogram', 'Histogram2d', 'Histogram2dContour', 'Layout', 'Legend', 'Line', 'Margin', 'Marker', 'RadialAxis', 'Scatter', 'Scatter3d', 'Scene', 'Stream', 'Surface', 'Trace', 'XAxis', 'XBins', 'YAxis', 'YBins', 'ZAxis', 'Candlestick', 'Carpet', 'Choropleth', 'Contourcarpet', 'Heatmapgl', 'Mesh3d', 'Ohlc', 'Parcoords', 'Pie', 'Pointcloud', 'Sankey', 'Scattercarpet', 'Scattergeo', 'Scattergl', 'Scattermapbox', 'Scatterpolar', 'Scatterpolargl', 'Scatterternary', 'Table', 'Violin', 'FigureWidget'])

======================================================================
FAIL: plotly.tests.test_core.test_graph_objs.test_scatter.test_trivial
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_core/test_graph_objs/test_scatter.py", line 17, in test_trivial
    assert Scatter() == dict(type='scatter')
AssertionError:
-------------------- >> begin captured stdout << ---------------------
<plotly.datatypes.trace.Scatter object at 0x1138890f0>

--------------------- >> end captured stdout << ----------------------

======================================================================
FAIL: test_df_dataframe_all_args (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestGantt)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 1364, in test_df_dataframe_all_args
    exp_gantt_chart['data'][0])
AssertionError: <plotly.datatypes.trace.Scatter object at 0x11389c588> != {'marker': {'color': 'white'}, 'name': ''[63 chars], 0]}

======================================================================
FAIL: test_simple_streamline (plotly.tests.test_optional.test_figure_factory.test_figure_factory.TestStreamline)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_figure_factory/test_figure_factory.py", line 446, in test_simple_streamline
    expected_strln_0_100['y'])
AssertionError: First sequence is not a list: array([-1.        , -0.97887918, -0.95793997, -0.93717776, -0.91658814,
       -0.89616687, -0.87590988, -0.85581329, -0.83587332, -0.81608639,
       -0.79644902, -0.77695787, -0.75760971, -0.73840146, -0.71933011,
       -0.70039278, -0.68158669, -0.66290914, -0.64435753, -0.62592935,
       -0.60762217, -0.58943363, -0.57136146, -0.55340345, -0.53555747,
       -0.51782145, -0.50019337, -0.48267129, -0.46525332, -0.44793763,
       -0.43072243, -0.413606  , -0.39658666, -0.37966276, -0.36283273,
       -0.34609502, -0.32944813, -0.31289059, -0.29642098, -0.28003791,
       -0.26374004, -0.24752605, -0.23139465, -0.2153446 , -0.19937468,
       -0.1834837 , -0.1676705 , -0.15193395, -0.13627295, -0.12068642,
       -0.1051733 , -0.08973257, -0.07436322, -0.05906428, -0.04383479,
       -0.0286738 , -0.0135804 ,  0.00144842,  0.01648793,  0.0315943 ,
        0.04676843,  0.06201126,  0.07732371,  0.09270676,  0.10816138,
        0.12368858,  0.1392894 ,  0.1549649 ,  0.17071615,  0.18654428,
        0.2024504 ,  0.21843569,  0.23450134,  0.25064858,  0.26687866,
        0.28319287,  0.29959253,  0.316079  ,  0.33265367,  0.34931798,
        0.36607338,  0.3829214 ,  0.39986359,  0.41690154,  0.4340369 ,
        0.45127136,  0.46860665,  0.48604456,  0.50358695,  0.5212357 ,
        0.53899279,  0.55686023,  0.5748401 ,  0.59293455,  0.6111458 ,
        0.62947615,  0.64792796,  0.66650367,  0.68520583,  0.70403703])

======================================================================
FAIL: test_js (test_jupyter.PlotlyJupyterConnectedFalseTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_jupyter/test_jupyter.py", line 62, in test_js
    self.fail('One or more javascript test failed')
AssertionError: One or more javascript test failed
-------------------- >> begin captured logging << --------------------
traitlets: INFO: Executing notebook with kernel: python3
traitlets: DEBUG: Starting kernel: ['/Users/chriddyp/Repos/venvpy35/bin/python', '-m', 'ipykernel', '-f', '/var/folders/89/fgd_56z12v19r346s1nvzd0c0000gn/T/tmp5yjls410.json']
traitlets: DEBUG: Connecting to: tcp://127.0.0.1:62952
traitlets: DEBUG: connecting shell channel to tcp://127.0.0.1:62949
traitlets: DEBUG: Connecting to: tcp://127.0.0.1:62949
traitlets: DEBUG: connecting iopub channel to tcp://127.0.0.1:62950
traitlets: DEBUG: Connecting to: tcp://127.0.0.1:62950
traitlets: DEBUG: connecting stdin channel to tcp://127.0.0.1:62951
traitlets: DEBUG: Connecting to: tcp://127.0.0.1:62951
traitlets: DEBUG: connecting heartbeat channel to tcp://127.0.0.1:62953
traitlets: DEBUG: Executing cell:
from plotly.offline import plot, iplot, init_notebook_mode
import plotly.graph_objs as go

# Make plotly work with Jupyter notebook
init_notebook_mode()

keys=['one','two','three']
values=[1,2,3]

iplot({
    "data": [go.Bar(x=keys, y=values)],
    "layout": go.Layout(title="Sample Bar Chart")
})
traitlets: DEBUG: output: status
traitlets: DEBUG: output: execute_input
traitlets: DEBUG: output: display_data
traitlets: DEBUG: output: display_data
traitlets: DEBUG: output: status
traitlets: DEBUG: Executing cell:

traitlets: DEBUG: output: status
traitlets: DEBUG: output: execute_input
traitlets: DEBUG: output: status
traitlets: DEBUG: Applying preprocessor: TagRemovePreprocessor
traitlets: DEBUG: Applying preprocessor: RegexRemovePreprocessor
traitlets: DEBUG: Applying preprocessor: coalesce_streams
traitlets: DEBUG: Applying preprocessor: CSSHTMLHeaderPreprocessor
traitlets: DEBUG: Applying preprocessor: HighlightMagicsPreprocessor
traitlets: DEBUG: Attempting to load template full.tpl
traitlets: DEBUG:     template_path: .
--------------------- >> end captured logging << ---------------------

======================================================================
FAIL: test_js (test_jupyter.PlotlyJupyterConnectedTrueTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_jupyter/test_jupyter.py", line 62, in test_js
    self.fail('One or more javascript test failed')
AssertionError: One or more javascript test failed
-------------------- >> begin captured logging << --------------------
traitlets: INFO: Executing notebook with kernel: python3
traitlets: DEBUG: Starting kernel: ['/Users/chriddyp/Repos/venvpy35/bin/python', '-m', 'ipykernel', '-f', '/var/folders/89/fgd_56z12v19r346s1nvzd0c0000gn/T/tmp7fjuxz3w.json']
traitlets: DEBUG: Connecting to: tcp://127.0.0.1:63053
traitlets: DEBUG: connecting shell channel to tcp://127.0.0.1:63050
traitlets: DEBUG: Connecting to: tcp://127.0.0.1:63050
traitlets: DEBUG: connecting iopub channel to tcp://127.0.0.1:63051
traitlets: DEBUG: Connecting to: tcp://127.0.0.1:63051
traitlets: DEBUG: connecting stdin channel to tcp://127.0.0.1:63052
traitlets: DEBUG: Connecting to: tcp://127.0.0.1:63052
traitlets: DEBUG: connecting heartbeat channel to tcp://127.0.0.1:63054
traitlets: DEBUG: Executing cell:
from plotly.offline import plot, iplot, init_notebook_mode
import plotly.graph_objs as go

# Make plotly work with Jupyter notebook
init_notebook_mode(connected=True)

keys=['one','two','three']
values=[1,2,3]

iplot({
    "data": [go.Bar(x=keys, y=values)],
    "layout": go.Layout(title="Sample Bar Chart")
})
traitlets: DEBUG: output: status
traitlets: DEBUG: output: execute_input
traitlets: DEBUG: output: display_data
traitlets: DEBUG: output: display_data
traitlets: DEBUG: output: status
traitlets: DEBUG: Executing cell:

traitlets: DEBUG: output: status
traitlets: DEBUG: output: execute_input
traitlets: DEBUG: output: status
traitlets: DEBUG: Applying preprocessor: TagRemovePreprocessor
traitlets: DEBUG: Applying preprocessor: RegexRemovePreprocessor
traitlets: DEBUG: Applying preprocessor: coalesce_streams
traitlets: DEBUG: Applying preprocessor: CSSHTMLHeaderPreprocessor
traitlets: DEBUG: Applying preprocessor: HighlightMagicsPreprocessor
traitlets: DEBUG: Attempting to load template full.tpl
traitlets: DEBUG:     template_path: .
--------------------- >> end captured logging << ---------------------

======================================================================
FAIL: test_node_modules (test_jupyter.PlotlyJupyterTestDeps)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_jupyter/test_jupyter.py", line 23, in test_node_modules
    self.assertTrue(path.isdir(PATH_NODE_MODULES))
AssertionError: False is not true

======================================================================
FAIL: test_datetime_candlestick (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 686, in test_datetime_candlestick
    self.assertEqual(candle, exp_candle)
AssertionError: <plotly.datatypes.Figure object at 0x118019160> != {'data': [{'boxpoints': False, 'fillcolor[2423 chars]: {}}

======================================================================
FAIL: test_datetime_ohlc (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 551, in test_datetime_ohlc
    self.assertEqual(ohlc_d, ex_ohlc_d)
AssertionError: <plotly.datatypes.Figure object at 0x118062c50> != {'data': [{'line': {'color': '#3D9970', '[2996 chars]se}}}

======================================================================
FAIL: test_one_candlestick (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 347, in test_one_candlestick
    self.assertEqual(can_inc, exp_can_inc)
AssertionError: <plotly.datatypes.Figure object at 0x11805bf98> != {'data': [{'boxpoints': False, 'fillcolor[370 chars]: {}}

======================================================================
FAIL: test_one_ohlc (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 265, in test_one_ohlc
    self.assertEqual(ohlc, expected_ohlc)
AssertionError: <plotly.datatypes.Figure object at 0x118154048> != {'layout': {'hovermode': 'closest', 'xaxi[454 chars][]}]}

======================================================================
FAIL: test_one_ohlc_decrease (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 315, in test_one_ohlc_decrease
    self.assertEqual(ohlc_decr, expected_ohlc_decr)
AssertionError: <plotly.datatypes.Figure object at 0x118124d68> != {'data': [{'line': {'color': '#FF4136', '[301 chars]se}}}

======================================================================
FAIL: test_one_ohlc_increase (plotly.tests.test_optional.test_tools.test_figure_factory.TestFinanceCharts)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 290, in test_one_ohlc_increase
    self.assertEqual(ohlc_incr, expected_ohlc_incr)
AssertionError: <plotly.datatypes.Figure object at 0x11618b278> != {'data': [{'line': {'color': '#3D9970', '[301 chars]se}}}

======================================================================
FAIL: test_more_kwargs (plotly.tests.test_optional.test_tools.test_figure_factory.TestQuiver)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 117, in test_more_kwargs
    self.assertEqual(quiver, expected_quiver)
AssertionError: <plotly.datatypes.Figure object at 0x113d80b38> != {'data': [{'line': {'color': 'purple', 'w[470 chars]st'}}

======================================================================
FAIL: test_one_arrow (plotly.tests.test_optional.test_tools.test_figure_factory.TestQuiver)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_tools/test_figure_factory.py", line 68, in test_one_arrow
    self.assertEqual(quiver, expected_quiver)
AssertionError: <plotly.datatypes.Figure object at 0x11617d748> != {'data': [{'mode': 'lines', 'type': 'scat[170 chars]st'}}

======================================================================
FAIL: test_encode_as_datetime (plotly.tests.test_optional.test_utils.test_utils.TestJSONEncoder)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_utils/test_utils.py", line 111, in test_encode_as_datetime
    self.assertEqual(res, '2013-10-01')
AssertionError: '2013-10-01 04:00:00' != '2013-10-01'
- 2013-10-01 04:00:00
+ 2013-10-01


======================================================================
FAIL: plotly.tests.test_optional.test_utils.test_utils.test_column_json_encoding
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_utils/test_utils.py", line 191, in test_column_json_encoding
    '"2014-01-05"], "name": "col 3"}]' == json_columns)
AssertionError

======================================================================
FAIL: plotly.tests.test_optional.test_utils.test_utils.test_figure_json_encoding
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_utils/test_utils.py", line 204, in test_figure_json_encoding
    assert(js1 == '{"type": "scatter3d", "x": [1, 2, 3], '
AssertionError

======================================================================
FAIL: plotly.tests.test_optional.test_utils.test_utils.test_datetime_json_encoding
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_utils/test_utils.py", line 225, in test_datetime_json_encoding
    assert(j1 == '["2014-01-05", '
AssertionError

======================================================================
FAIL: plotly.tests.test_optional.test_utils.test_utils.test_pandas_json_encoding
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/chriddyp/Repos/plotly.py/vv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/chriddyp/Repos/plotly.py/plotly/tests/test_optional/test_utils/test_utils.py", line 236, in test_pandas_json_encoding
    assert(j1 == '[1, 2, 3, "2014-01-05", null, null, null]')
AssertionError

----------------------------------------------------------------------
Ran 491 tests in 238.974s

FAILED (SKIP=3, errors=133, failures=34)

@chriddyp
Copy link
Member Author

chriddyp commented Mar 6, 2018

Summary of test failures:

  • .update
  • Figure.strip_style
  • Scatter().validate()
  • fig.get_data()
  • frames.to_string()
  • frames[0]._get_valid_attributes()
  • frames[0].data - no attribute data
  • Data.validate()
  • trace.xaxis = 'x1' vs trace.xaxis = 'x'. similarly with scene ("Subplot properties may only be suffixed by an integer > 1")
  • tools.get_valid_graph_obj(figure, obj_type='Figure') -> cls(obj, _raise=False) - no argument _raise
  • Invalid value of type 'builtins.dict' received for the 'data' property of figure. Received value: {'frames': [{'frames': []}]}
  • 'Layout' object has no attribute 'items'
  • Invalid value of type 'plotly.grid_objs.grid_objs.Column' received for the 'xsrc' property of trace.scatter
    Received value: Column("[1, 2, 3, 4]", first column)
  • AttributeError: 'Layout' object has no attribute 'get'

@jonmmease
Copy link
Contributor

@chriddyp I started looking at the subplot properties ending in 1 errors (e.g. xaxis1 being invalid).

Here is the JSON schema snippet for layout.xaxis.anchor:

"layout": {
    "layoutAttributes": {
        ...
        "xaxis": {
              "anchor": {
                    ...
                    "valType": "enumerated",
                    "values": [
                        "free",
                        "/^x([2-9]|[1-9][0-9]+)?$/",
                        "/^y([2-9]|[1-9][0-9]+)?$/"
                    ]
              },
         },
    },
}

These regular expressions exclude anchor strings like 'x1', and at the moment I'm simply translating them to Python regexes and using them to validate the layout.xaxis.anchor property.

I haven't dug into the current Python logic or the Plotly.js handling, but do you think Plotly.js accepts anchors like 'x1' and treats them like 'x'? If so, it might be best to update these regular expressions in Plotly.js so that we don't need special codegen logic for these anchors.

@jonmmease
Copy link
Contributor

Testing issues:

  • Scatter(x=1, y=10) now raises a ValueError. This is because the type of the x and y properties in the plot schema is data_array. The description of data_array says "An {array} of data. The value MUST be an {array}, or we ignore it."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants