CartoDB / cartodb

Location Intelligence & Data Visualization tool
http://carto.com
BSD 3-Clause "New" or "Revised" License
2.75k stars 651 forks source link

CartoDB Editor: Bubble map > Classed option #5505

Closed makella closed 7 years ago

makella commented 9 years ago

Cartographically speaking, there are two types of 'Bubble' maps proportional symbol (unclassed) maps and range graded (classed) maps. This issue is in reference to range graded, I will add another, separate issue, related to proportional symbol.
On range graded maps, each symbol size is determined by the class it falls into. This is similar to the choropleth points but uses size instead of color as the visual variable.
Right now in the Editor, there is the option to choose a classification method, but there isn't an option to choose how many class breaks the data should have. By default, the Editor is creating 10 class breaks and the result is little to no visual variation in the graduated symbol map because the size difference between each symbol within 10 classes is really small. In order to be a true range graded map, we need to add the option to choose the number of classes. We also need to modify the legend design for this type of map and the CartoCSS.
The proposed workflow, modified CartoCSS and legend design are all described in more detail below. This would be our Bubble > Classed option.

Proposed Workflow:

#dataset {
  marker-fill-opacity: 0.8;
  marker-line-color: #FFF;
  marker-line-width: 1;
  marker-line-opacity: 1;
  marker-fill: #FFFFB2;
  marker-allow-overlap: true;

  [ estimate_total >= 251][estimate_total<=800] {
   marker-width: 25;
  }
  [ estimate_total >=51][estimate_total<=250] {
   marker-width: 20;
  }
  [ estimate_total >=26][estimate_total<=50] {
   marker-width: 15;
  }
  [ estimate_total >=8][estimate_total<=25] {
   marker-width: 10;
  }
  [ estimate_total >=1][estimate_total<=7] {
   marker-width: 5;
  }
}

Enhanced legend

For a classed bubble map, the legend should show class breaks with associated symbol size. Important here is that if the values of the data aren't as clean as they are in my simple example above, that the numbers should be rounded for the purpose of the legend.
Example legend: screen shot 2015-09-14 at 9 26 44 am

cc @andrewxhill

javisantana commented 9 years ago

We are working on the new embeds so @josecruz might should take a look at this to see if the bubble design fits the requirements.

A technical question, where is better to use classed/unclassed bubble maps. I'm thinking on pecan

makella commented 9 years ago

@javisantana good question and something that I was thinking about too.

In my opinion, this is related to a few different things:

From the pecan angle, I think there are some patterns we can look for in the data to guide users to make better decisions -- the biggest thing here is to make sure we help people make readable maps and not just maps with a bunch of bubbles!

Since there is more variation in symbol size on unclassed maps, we don't want to use this option if there is little variation in the data because the symbols on the map would look homogenous. On the other hand, if there are greater variations in the data, the symbol size would reflect that and make for a more interesting map. BUT there are instances where I can think of using an unclassed map with a smaller range of values at larger map scales.

If there isn't too much variation in the data, then a classed map would likely be the best option because that would help the map reader best understand the patterns in the data. Also, with classed maps, there are fewer symbol sizes to interpret which again depending on theme and scale could make the map a lot easier to understand.

Let me research this topic a little more and find some examples to better illustrate the points above.

makella commented 8 years ago

How are we currently (and in the future) determining the size difference between symbols for classed bubble maps? I found some resources that can help and that I can test if needed.

Yeye commented 8 years ago

Makella can you share the code for the Example Legend you showed above?

alonsogarciapablo commented 7 years ago

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.