In ArcMap 10.2, I have a layer that has two attributes: depth and magnitude.

Depth should be represented by color: deeper points being lighter and shallower being darker.

Magnitude represented by symbol's size: points with a higher magnitude have a bigger symbol and points with a lower magnitude have a smaller one.

How do i do that?

So, many people has told me to use "multiple attributes" in the symbology dialog. I wish i could upload a screenshot but my firewall seems to have the image service blocked. Let's try with words.

  1. "Multiple attributes" offer these input boxes: "value fields" and "variation by".
  2. in "value fields" i select "depth" and "magnitude"
  3. in "variation by" we have two buttons: "color ramp" and "symbol size"
  4. in "color ramp" i choose "depth"
  5. i open "symbol size". There, "depth" is selected. I change it to be "magnitude".
  6. open "color ramp" again. No longer "depth" is selected. Now "magnitude" is.

Basically, whenever i select something on "symbol size" or "color ramp", the same selection is duplicated on the other button.

  • 2
    You're confusing how that symbology works. There are two appearance factors available - the symbol used for everything and the variation of that symbol. You don't do vary by color ramp and size, you do one or the other. Add depth as your first field and magnitude as the second. Click add all values. Every depth value is added, with its matching magnitude (for this reason MyFamily suggests categorizing depth first). With all values added, click the color ramp dropdown (NOT the variation by button) and pick a blue ramp. Then click the variation by size button and select the magnitude field.
    – Chris W
    Feb 17, 2015 at 23:20
  • 1
    Note that the color ramp is applied to unique values, so same depth/different magnitude will be different colors and sizes. If you want all same depths to be the same color, you'd have to classify it to ranges as MyFamily says - you cannot symbolize the same points on two continuous ramps (size or color). Also note this symbology uses graduated symbols rather than proportional, so technically you're classifying both depth and magnitude into ranges.
    – Chris W
    Feb 17, 2015 at 23:22

5 Answers 5


I am also having the same problem and there is an official answer at How To: Symbolize points based on multiple attribute values in ArcMap.

In short, in the 'value fields' choose only ONE variable, in the 'variation by-symbol size' choose another variable

Full procedure:

  1. In Table Of Contents, right-click the layer and click Properties.

  2. In the Layer Properties dialog box, click the Symbology tab. On the left side (the Show: box), click Multiple Attributes.

  3. In the Value Fields section, select the field containing the attribute to base the color symbology on. Leave the other two fields blank.

  4. Click the Add All Values button at the bottom and uncheck .

  5. Click the Symbol Size button. The Draw quantities using symbol size to show relative values dialog box is displayed.

  6. Select the Value field and set it to the field that has quantities. Leave the Normalization as none. Click OK.


Go into the symbology tab and select multiple attributes.

From the main screen you can select the colours for your depth (click the drop down menu and select your depth attribute).

If you look in the top right of the same window, you'll see a symbol size menu from which you can select the symbol size scale based on your magnitude attribute.

Using multiple attributes feature for symbology in ArcMap? has some useful information for you to go on, the answer from sgrieve should help you along.

If you have many depth values, you may want to group them before adding them in as you'll end up with too many unique values to plot in a legend

  • Have you looked at the answer from sgrieve in the other thread? Do you see that screen?
    – MyFamily
    Feb 17, 2015 at 22:39
  • @user3357358 If you have tried the solution from the Q&A that this has been made a duplicate of, and think that it does not work, then edit your question to provide precise details of trying that solution and your observed undesirable results.
    – PolyGeo
    Feb 17, 2015 at 22:45
  • Hi, i tried that to no avail. In the symbology tab there's a section "Variation by". It contains two buttons: "Color ramp" and "symbol size". if i chose any attribute for one button it also applies to other button. thanks Feb 17, 2015 at 22:49
  • 1
    yep i am doing the exact same thing that the other thread says. However, if i set an attribute for "symbol size", arcmap automatically sets the same attribute for "color ramp" and viceversa. Feb 17, 2015 at 22:55

In multiple attributes and quantity by category, add Depth as the first input in Value Fields. Do not place Magnitude as the second. Instead, click Variation by Symbol Size and input magnitude there. This should give all depths with varying gradients and the size of the circles only representing magnitude.


Symbolize based on "Quantity", using "Graduated colors". Choose your symbol, color ramp and ranges for depth. Under "Advanced", select "size". Use the calculator button to create an expression with your magnitude field. You may have to use a multiplying factor to get the max symbol size correct.

  • After you do step 1, you need to click OK and let the colors show up on the map. Then go back in to symbology properties / Advanced / Size. Otherwise size is greyed out.
    – f.thorpe
    Sep 26, 2017 at 19:53

Have you looked at the custom renderer examples, in particular the multi|bi-variate renderers:
Custom Feature Renders

They provide VB code for the bivariate render:
Bivariate Renderers

... in particular the ColorSizeBivariateRender:
It uses the core renderers to get two symbols: one for the size, one for the color. It then applies the color from the color symbol to the size symbol and uses that to render the feature.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.