Feedback on d3 Choropleth project please

Hey everyone,
this particular project was really difficult to handle compared to the first projects in Data visualization since we needed to make 2 API requests and needed to know how to draw an actual map using SVG. The part I struggled with the most was when you need to match the first API request data with the second API request in data-education :cry:

But I did it!

Any feedback on this project would be greatly appreciated

Have a nice day, and thank you for your time

1 Like

To me, there is a very large discontinuity between this project and the visualization classes. Yes, I understand we should stretch a bit by Googling which I have done for all the other projects, but it would have been nice to have had one or two classes to introduce the basic concepts such as the difference between topojson and geojson because looking at the geo data, I had no idea there is a difference. Only by looking at the example code did I kind of guess that the data may be topojson.

1 Like

Agreed! They should teach us a bit about this first, or at least talk about it, for I’m sure we’re not the only ones who tried to understand how it all works by looking at the code in the example.
Thank you very much for your feedback, I’m glad to know I wasn’t the only one who struggled with this one! Cheers

Just out of curiosity (not trying to hijack the thread), what information would you like to see (or at least have hinted) now that you’ve done the choropleth?

Jeremy, that is a good question. Saying that I want a better burger without saying if I want extra lettuce or an extra slice of cheese is not specific.

I am still just one day into the Choropleth project, but here are my initial suggestions. I will provide a better set of suggestions once I have completed the project.

Have a module with the following pages:

  • What are choropleth maps? Why are they useful?

  • What are the libraries that need to be imported in addition to D3?

  • Demonstrate a simple choropleth map with the following progression:

    • One to three pages on how GeoJSON and TopoJSON represent geographical data. What are the similarities, and what are the differences? The explanation does not need to be exhaustive, but it needs to touch on the fact that these data formats exist. Once the student is aware of these data formats, he can do further research on his own. Bonus if one page can show one simple shape drawn from one representation and have the student write the same representation in another format.

    • One page on the different data loading methods that explain v4 and v6 D3. Ex: d3.queue vs. Promise.all vs., say, the API methods taught in the JSON and AJAX module. Maybe we could string together two req.onloads? Maybe I should try that.

    • One page on how to draw the map with data representation. Explain how the data is mapped to the map. What can be the key(s) that tie the two together?

These suggestions I think can let the students get more out of the project because by having some basic concepts and previous class exercises as guideposts, the student can analyze the requirements without looking at the example project, much less its code. This is how I like to approach the projects, by analyzing the written requirements first. Otherwise, once I see the examples, I cannot unsee them.

That’s good information to have. I think the choropleth is the most difficult D3 project and in some ways makes the biggest leap from the practice of all the projects for the reasons you mention and others as well. The bar graph, scatter plot, and heat map are all much more straightforward coming from the practice exercises. The forum traffic on the D3 projects I think corroborates that this one is the hard one since there are questions up to and including the choropleth but rarely the treemap. At that point, I believe either everyone can do anything after the choropleth or they stop with D3 and move on.

I’ve got a few other projects to tackle first, but in the near future I’m hoping to create a non-spoiler guide for the choropleth, and possible the D3 projects in general, so I’ve been doing some thinking on the matter and I’m casting around for other people’s pain points on the project(s) in addition to mine. Your information will be helpful because only a couple of your points were on my list.

To me, it’s a great project because it’s hard enough that tutorial hell can’t do it but everyone recognizes the visualization instantly because they are so common (and they are easy after the fact…).

I think @PCWCFA is right, they should teach us what a choropleth map is, and maybe focus on how to make multiple API requests at once because the info was a pain to find among all the info about choropleth maps.

I think they should probably teach us about d3.geoPath() so that we don’t feel overwhelmed by the task at hand, because this map looks very different from the other projects in fCC’s Data Visualization.


Thank you for asking and considering our input. The fCC team is doing a wonderful service for the world, and I would love to see its continued growth.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.