1 of 1 people found this helpful
Hi Suggest that this is a question for @Kent Marten at Tableau - he is the product manager for mapping
I know this is a late reply and I'm not Kent Marten nor am I and ArcGIS user but I have done a fair bit of work with customizing color palettes so I'll take a swing at this:
First of all there are basically two kinds of color ramps in Tableau:
- categorical palettes which are used when there are discrete (blue) pill(s) on Color. Note that when there are multiple discrete pills on Color the palette is always the default Tableau palette, we can manually override values but the palette stays the same.
- sequential palettes which are used when there is a single continuous (green) pill on Color, there's an additional subdivision of sequential palettes between sequential-ordered and sequential-diverging where the latter is designed for numbers ranging from negative to positive, like a Red/White/Black palette.
Setting up categorical palettes requires more effort to assign values to the palette and can run into issues with assignment when the data is initially sparse so in this case I'm going to mostly refer to sequential-ordered palettes. We can set up custom palettes if we want with entries defining the color ramp, I did a long blog post on this here as part of going into how Tableau's default palettes are configured: An Exploration of Custom Color Palettes | Drawing with Numbers .
The post I linked to also goes into the method that Tableau uses for assigning which hue is used for the color palettes which is roughly the qual interval method that you describe.
So in terms of order of operations in Tableau we place a pill to Color and then Tableau pulls out the color ramp and then assigns the colors based on the range of values of the pill vis-a-vis the colors in the ramp. It appears that in ArcGIS users can do things a little differently where they can choose a setting and then ArcGIS will run different calculations over the data (standard deviation, natural breaks (Jenks), etc.) and then assign the colors. So to get the ArcGIS behavior we will need to write calculation(s) that result in a pill that we can place on Color, and therefore to do that we need:
a) to return the correct values of the calculation
b) have the color palette be set up with the desired number/range of values
c) potentially edit the settings of the Edit Colors window to accommodate a & b plus factors like sparseness in the data.
qual interval - this is what Tableau does
Natural breaks (Jenks) - This requires a series of calculations that as far as I can tell are not feasible with Tableau's built-in functions. One workaround would be to pre-compute the values and then use them, the other would be to take advantage of Tableau's R or Python integration and use a library, for example here's a link to one for Python Jenks natural breaks classification · GitHub .
Standard deviation - This looks like a z-score calculation, here's a link to the Tableau documentation: Calculate Z-scores. Note that since these are table calculations you'll need to be careful of the compute using, it'll likely need to be on all of the dimensions on the Marks Card and maybe additional dimensions on Rows, Columns, or Pages. Depending on how your data is set up a level of detail expression may work better.
Quantile - This can be done using the RANK_PERCENTILE table calculation function, for example MAX(CEILING(RANK_PERCENTILE(SUM([Sales])*4)),1) will give a quantile from 1-4. Again, depending on how your data is set up a level of detail expression may work better. (Also the CEILING() function is not available in all data sources, in that case an alternative would be needed, I usually use an IF statement there.
Manual breaks - In general this can be done with a calculated field, for example:
IF SUM([Sales]) > 100000 THEN
ELSEIF SUM([Sales]) > 10000 THEN
ELSEIF SUM([Sales]) <= 10000 THEN
ELSE //Null situation
In this case the field would return a categorical (discrete) value and that could use a categorical palette. Alternatively the calc could instead return values of 0,1,2,3 for example and then be used as a continuous value with a sequential palette however depending on how sparse the data is there could be some need to do additional configuration using the Advanced options in the Color window to ensure that the color assignment works as desired.
Hope this helps!