[Paraview] Categorical data in scalar bar

David Thompson david.thompson at kitware.com
Mon Dec 31 09:58:56 EST 2012


Hi Tim,

> We have a dataset that ranges from 0 to 7 and represents categorical data. Is it possible through a python script to explicitly set the tick labels on a scalar bar so I can manually map them to strings? For instance:
> 
> {0.0 -> "None", 1.0 -> "I", 2.0 -> "J",...} 

In version 3.98 of Paraview, you can do the following at the Python shell in ParaView:

# Unfortunately, there is not an easy way to access the Brewer color presets from Python;
# Here is one of the categorical schemes:
nanColor=[0.7019607843137254, 0.7019607843137254, 0.7019607843137254]
rgbPoints=[0, 0.4,                0.7607843137254902, 0.6470588235294118, \
           1, 0.9882352941176471, 0.5529411764705883, 0.3843137254901961, \
           2, 0.5529411764705883, 0.6274509803921569, 0.796078431372549, \
           3, 0.9058823529411765, 0.5411764705882353, 0.7647058823529411, \
           4, 0.6509803921568628, 0.8470588235294118, 0.32941176470588235, \
           5, 1.0,                0.8509803921568627, 0.1843137254901961, \
           6, 0.8980392156862745, 0.7686274509803922, 0.5803921568627451, \
           7, 0.7019607843137254, 0.7019607843137254, 0.7019607843137254]
# Create a vector of strings holding scalar values and their annotations:
annotations = ['0', 'None', '1', 'I', '2', 'J', '3', 'K', '4', 'L', '5', 'M', '6', 'N', '7', 'P']
# Create a categorical lookup table
lkup = CreateLookupTable(\
  RGBPoints=rgbPoints, NanColor=nanColor, IndexedLookup=1, Annotations=annotations, ColorSpace="HSV")
# Color by the new lookup table:
SetDisplayProperties(LookupTable = lkup)
SetDisplayProperties(ColorAttributeType = "CELL_DATA") # or "POINT_DATA"
SetDisplayProperties(ColorArrayName = "YourCategoricalArray")
Render()


	David



More information about the ParaView mailing list