Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Update geopandas example #4782

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

Open
sarthak-12 wants to merge 2 commits into plotly:main
base: main
Choose a base branch
Loading
from sarthak-12:update-geopandas-example

Conversation

Copy link

@sarthak-12 sarthak-12 commented Oct 7, 2024

Please uncomment this block and take a look at this checklist if your PR is making substantial changes to documentation/impacts files in the doc directory. Check all that apply to your PR, and leave the rest unchecked to discuss with your reviewer! Not all boxes must be checked for every PR :)

If your PR modifies code of the plotly package, we have a different checklist
below :-).

Documentation PR

  • I've seen the doc/README.md file
  • This change runs in the current version of Plotly on PyPI and targets the doc-prod branch OR it targets the master branch
  • If this PR modifies the first example in a page or adds a new one, it is a px example if at all possible
  • Every new/modified example has a descriptive title and motivating sentence or paragraph
  • Every new/modified example is independently runnable
  • Every new/modified example is optimized for short line count and focuses on the Plotly/visualization-related aspects of the example rather than the computation required to produce the data being visualized
  • Meaningful/relatable datasets are used for all new examples instead of randomly-generated data where possible
  • The random seed is set if using randomly-generated data in new/modified examples
  • New/modified remote datasets are loaded from https://plotly.github.io/datasets and added to https://github.com/plotly/datasets
  • Large computations are avoided in the new/modified examples in favour of loading remote datasets that represent the output of such computations
  • Imports are plotly.graph_objects as go / plotly.express as px / plotly.io as pio
  • Data frames are always called df
  • fig = <something> call is high up in each new/modified example (either px.<something> or make_subplots or go.Figure)
  • Liberal use is made of fig.add_* and fig.update_* rather than go.Figure(data=..., layout=...) in every new/modified example
  • Specific adders and updaters like fig.add_shape and fig.update_xaxes are used instead of big fig.update_layout calls in every new/modified example
  • fig.show() is at the end of each new/modified example
  • plotly.plot() and plotly.iplot() are not used in any new/modified example
  • Hex codes for colors are not used in any new/modified example in favour of these nice ones

Code PR

  • I have read through the contributing notes and understand the structure of the package. In particular, if my PR modifies code of plotly.graph_objects, my modifications concern the codegen files and not generated files.
  • I have added tests (if submitting a new feature or correcting a bug) or
    modified existing tests.
  • For a new feature, I have added documentation examples in an existing or
    new tutorial notebook (please see the doc checklist as well).
  • I have added a CHANGELOG entry if fixing/changing/adding anything substantial.
  • For a new feature or a change in behaviour, I have updated the relevant docstrings in the code to describe the feature or behaviour (please see the doc checklist as well).

Notes:

  • The example does not involve random data or new datasets, so those checklist items are not applicable.
  • Used projection="natural earth" to avoid the need for a Mapbox access token.

Testing:

  • Tested with GeoPandas 0.9.0 (pre-1.0) and GeoPandas 1.9.0.
  • The example runs successfully in both environments.

Related Issues:


Let me know if there are any questions or if further changes are needed.

@gvwilson gvwilson added P3 backlog community community contribution fix fixes something broken labels Oct 8, 2024
Copy link
Member

Thanks @sarthak-12 for the PR!

geodatasets might work for both versions. If so, we could get rid of the if/else

But we also may need to look at the datasets available on geodatasets and see if they are accessible in the same way.

df = gpd.read_file(geodatasets.get_path('naturalearth_cities'))

returns the following for me

 raise ValueError(f"No matching item found for the query '{name}'.")
ValueError: No matching item found for the query 'naturalearth_cities'

Copy link
Contributor

It looks like the geopandas team simultaneously separated data sets into a separate project and removed the cities data set from their example library

The data appear to be available here: https://www.naturalearthdata.com/downloads/110m-cultural-vectors/
specifically, I think, here: http//www.naturalearthdata.com/download/110m/cultural/ne_110m_populated_places_simple.zip

if this code needs a file inside that zip, would you want it committed to the plotly data repo?

Copy link
Member

It looks like the geopandas team simultaneously separated data sets into a separate project and removed the cities data set from their example library

The data appear to be available here: https://www.naturalearthdata.com/downloads/110m-cultural-vectors/ specifically, I think, here: http//www.naturalearthdata.com/download/110m/cultural/ne_110m_populated_places_simple.zip

if this code needs a file inside that zip, would you want it committed to the plotly data repo?

Thanks @rl-utility-man

I think we could avoid committing the zip file. It looks like something like this would just work:

geo_df = gpd.read_file("https://naciscdn.org/naturalearth/110m/cultural/ne_110m_populated_places_simple.zip")

What do you think?

Copy link
Contributor

rl-utility-man commented Jul 9, 2025
edited
Loading

if gpd.read_file() just works on a ZIP, I like this solution. If we'd have to clutter the codebase with downloading and unzipping and need to deal with potential differences in the local file system, then perhaps putting a small geopandas point data set in the data repo would be cleaner. I feel no deep expertise or strong opinions here; I just hoped my prior comment would provide some context to move this toward a resolution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers

@archmoj archmoj Awaiting requested review from archmoj

@LiamConnors LiamConnors Awaiting requested review from LiamConnors

At least 1 approving review is required to merge this pull request.

Assignees
No one assigned
Labels
community community contribution fix fixes something broken P3 backlog
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

Dataset used in example on scatter plots page is removed in geopandas 1.0

AltStyle によって変換されたページ (->オリジナル) /