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
Declarative support for choropleth breakpoints #57
Comments
Closing due to age of ticket without resolution. |
@manifestinteractive it is a feature request. It might take several releases before the project is ready for the feature. Please re-open. |
Reopening, with the acknowledgement that I personally will not be taking this ticket on, so if anyone wants to contribute to this with a PR, I am sure @brylie would be grateful. |
@brylie Can you explain how you intended this to be used ? I see you are referring to a "classification algorithm" but I do not know where you are intending for it to be used. Are you wanting to use this for the I would love to get this figured out for you if you could help clarify where you want this used. |
When designing a choropleth map, a cartographer can choose one of several classification methods. Different classification methods tend to cause different patterns to stand out in the map data. The selection of a classification algorithm is typically declarative, i.e. the cartographer simply chooses one from a pre-defined list. This may be possible from the |
After doing some research, I found someone was using jenks with jqvmap already on this website ( without any changes to our project ). http://robertorocha.info/making-an-interactive-choropleth-map-with-jqvmap-and-geostats/ Can you confirm if this is what you were talking about, and if so, whether that implementation works for you ? |
Yes, this is a great example. :-) Color assignment could be done in a declarative way, e.g. if JQVmap automatically assigned colors to a 'breaks' array. I.e. the following code might be rendered unnecessary: var colors = {};
for (var country in data) {
if (data[country] > 0) {
for (var i = 0; i <= 4; i++) {
if (data[country] >= (jenks[i]) && data[country] <= (jenks[i + 1])) {
colors[country] = hexes[i]
}
}
} else { colors[country] = '#A8A8A8' };
}; |
This issue seems more general than 'supporting Jenks', so I have renamed it. The idea is to support declarative mapping between arbitrary breakpoints and a set of colors (or color gradient). |
User story
Feature request
It would be helpful to have a choice of Jenks Natural Breaks for the classification algorithm.
http://en.wikipedia.org/wiki/Jenks_natural_breaks_optimization
References
Here is a JS implementation of the algorithm:
https://github.com/vvoovv/djeo-jenks
Here is a PHP implementation of the algorithm:
https://github.com/randomdrake/jenks
The text was updated successfully, but these errors were encountered: