mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0] arcpy.MakeFeatureLayer_management("myFC", "My Layer Name") addLayer = arcpy.mapping.Layer("My Layer Name") arcpy.mapping.AddLayer(df,addLayer, "TOP") sourceLayer = "C:\Data\MySymbology.lyr" layerSymb = arcpy.mapping.Layer(sourceLayer) updateLayer = arcpy.mapping.ListLayers(mxd, "My Layer Name", df)[0] arcpy.mapping.UpdateLayer(df, updateLayer, layerSymb, "TRUE") arcpy.RefreshTOC()
I had the same problem. I think it is because the "Value Field" is set to "Single symbol" by default. The code below worked for me.
lyr = "path to your layer"
in_symbol_layer = "path to your symbology layer"
addLayer = arcpy.mappling.Layer(lyr)
addLayer.valueField = "the value field you want to use for the symbol"
arcpy.ApplySymbologyFromLayer_management(lyr, in_symbol_layer)