Use this script to reapply a default colour scheme that is saved in the document.
ApplyDefaultColourScheme
# Declarations and initial system setup from Spotfire.Dxp.Application.Visuals import * from System.Drawing import Color from System.Drawing import ColorTranslator from System.Collections.Generic import List from Spotfire.Dxp.Framework.Library import * from System.Collections.Generic import List DefaultColorValue = [] DefaultColorCode = [] ColourPalette = [] Ic=0 #-------------------------------------------------------------------------------------- # Colour Palette ColourPalette.append("#99D518") ColourPalette.append("#515387") ColourPalette.append("#5C8FEB") ColourPalette.append("#026A77") ColourPalette.append("#6AD5FA") ColourPalette.append("#E75262") ColourPalette.append("#EFB225") ColourPalette.append("#105843") ColourPalette.append("#A18A2A") ColourPalette.append("#7C353F") ColourPalette.append("#0B5314") ColourPalette.append("#B0C5B1") ColourPalette.append("#B27828") ColourPalette.append("#638E0B") ColourPalette.append("#1BBF42") ColourPalette.append("#116694") ColourPalette.append("#FBFB9B") ColourPalette.append("#29A5B3") ColourPalette.append("#EB60FC") ColourPalette.append("#DF2EBD") ColourPalette.append("#5B89EB") ColourPalette.append("#7784C5") ColourPalette.append("#F94290") ColourPalette.append("#16D03C") ColourPalette.append("#4B7FB0") ColourPalette.append("#84535D") ColourPalette.append("#056C3D") ColourPalette.append("#02066E") ColourPalette.append("#F6CCCC") ColourPalette.append("#D81DDB") ColourPalette.append("#A03EF9") ColourPalette.append("#C3D35B") ColourPalette.append("#38A889") ColourPalette.append("#AD8146") ColourPalette.append("#37EDE3") ColourPalette.append("#BF8735") ColourPalette.append("#6AA5B7") ColourPalette.append("#E13A26") ColourPalette.append("#81C782") ColourPalette.append("#D68600") #-------------------------------------------------------------------------------------- # Fixed default colours for categories (otherwise random colours from the palette # will be assigned. DefaultColorValue.append("All") DefaultColorCode.append(ColorTranslator.FromHtml("#1E2054")) #-------------------------------------------------------------------------------------- for p in Document.Pages: for v in p.Visuals: Process='N' if v.TypeId.Name == 'Spotfire.LineChart': chart=v.As[LineChart]() Process='Y' if v.TypeId.Name == 'Spotfire.BarChart': chart=v.As[BarChart]() Process='Y' if v.TypeId.Name == 'Spotfire.Treemap': chart=v.As[Treemap]() Process='Y' if v.TypeId.Name == 'Spotfire.ScatterPlot': chart=v.As[ScatterPlot]() Process='Y' if v.TypeId.Name == 'Spotfire.WaterfallChart': chart=v.As[WaterfallChart]() Process='Y' if v.TypeId.Name == 'Spotfire.PieChart': chart=v.As[PieChart]() Process='Y' if v.TypeId.Name == 'Spotfire.ScatterPlot3D': chart=v.As[ScatterPlot3D]() Process='Y' if v.TypeId.Name == 'Spotfire.CombinationChart': chart=v.As[CombinationChart]() Process='Y' keys=List[CategoryKey]() keys=chart.ColorAxis.Coloring.AddCategoricalColorRule().GetExplicitCategories() # Search for target series and set it as a line for k in keys: if str(k).find('Target')>=0 or str(k).find('Objetivo')>=0: chart.IndexedSeriesType[k]=CombinationChartSeriesType.Line if Process=='Y': keys=List[CategoryKey]() keys=chart.ColorAxis.Coloring.AddCategoricalColorRule().GetExplicitCategories() for k in keys: if Ic>=ColourPalette.Count: Ic=0 if str(k).find('Target')>=0 or str(k).find('Objetivo')>=0: chart.ColorAxis.Coloring.SetColorForCategory(k, Color.FromName("Black")) else: if str(k).find('.')<0 and DefaultColorValue.count(str(k)) == 0: chart.ColorAxis.Coloring.SetColorForCategory(k, ColorTranslator.FromHtml(ColourPalette[Ic])) DefaultColorValue.append(str(k)) DefaultColorCode.append(chart.ColorAxis.Coloring.GetColorForCategory(k)) Ic=Ic+1 elif DefaultColorValue.count(str(k)) == 1: chart.ColorAxis.Coloring.SetColorForCategory(k, DefaultColorCode[DefaultColorValue.index(str(k))]) # Multiple category axis coloring for v in p.Visuals: Process='N' if v.TypeId.Name == 'Spotfire.LineChart': chart=v.As[LineChart]() Process='Y' if v.TypeId.Name == 'Spotfire.BarChart': chart=v.As[BarChart]() Process='Y' if v.TypeId.Name == 'Spotfire.Treemap': chart=v.As[Treemap]() Process='Y' if v.TypeId.Name == 'Spotfire.ScatterPlot': chart=v.As[ScatterPlot]() Process='Y' if v.TypeId.Name == 'Spotfire.WaterfallChart': chart=v.As[WaterfallChart]() Process='Y' if v.TypeId.Name == 'Spotfire.PieChart': chart=v.As[PieChart]() Process='Y' if v.TypeId.Name == 'Spotfire.ScatterPlot3D': chart=v.As[ScatterPlot3D]() Process='Y' if v.TypeId.Name == 'Spotfire.CombinationChart': chart=v.As[CombinationChart]() Process='Y' if Process=='Y': keys=List[CategoryKey]() keys=chart.ColorAxis.Coloring.AddCategoricalColorRule().GetExplicitCategories() for k in keys: if str(k).find('Target')>=0 or str(k).find('Objetivo')>=0: chart.ColorAxis.Coloring.SetColorForCategory(k, Color.FromName("Black")) else: if str(k).find(".")>=0: for val in DefaultColorValue: if str(val) == str(k).split(".")[0]: chart.ColorAxis.Coloring.SetColorForCategory(k, DefaultColorCode[DefaultColorValue.index(val)])