Estou tendo o mesmo problema com mapas geológicos no QGIS 2.10. Os mapas fornecidos possuem um código de cores CMYK (atualmente "YMCK") que pode ser interpretado com a seguinte fórmula:
color_cmyk(
CASE WHEN substr("COLOR_CODE",3,1 ) IS 0 THEN 0
WHEN substr("COLOR_CODE",3,1 ) IS 1 THEN 7
WHEN substr("COLOR_CODE",3,1 ) IS 2 THEN 14
WHEN substr("COLOR_CODE",3,1 ) IS 3 THEN 21
WHEN substr("COLOR_CODE",3,1 ) IS 4 THEN 31
WHEN substr("COLOR_CODE",3,1 ) IS 5 THEN 42
WHEN substr("COLOR_CODE",3,1 ) IS 6 THEN 54
WHEN substr("COLOR_CODE",3,1 ) IS 7 THEN 67
WHEN substr("COLOR_CODE",3,1 ) IS 8 THEN 80
ELSE 100
END,
CASE WHEN substr("COLOR_CODE",2,1 ) IS 0 THEN 0
WHEN substr("COLOR_CODE",2,1 ) IS 1 THEN 7
WHEN substr("COLOR_CODE",2,1 ) IS 2 THEN 14
WHEN substr("COLOR_CODE",2,1 ) IS 3 THEN 21
WHEN substr("COLOR_CODE",2,1 ) IS 4 THEN 31
WHEN substr("COLOR_CODE",2,1 ) IS 5 THEN 42
WHEN substr("COLOR_CODE",2,1 ) IS 6 THEN 54
WHEN substr("COLOR_CODE",2,1 ) IS 7 THEN 67
WHEN substr("COLOR_CODE",2,1 ) IS 8 THEN 80
ELSE 100
END,
CASE WHEN substr("COLOR_CODE",1,1 ) IS 0 THEN 0
WHEN substr("COLOR_CODE",1,1 ) IS 1 THEN 7
WHEN substr("COLOR_CODE",1,1 ) IS 2 THEN 14
WHEN substr("COLOR_CODE",1,1 ) IS 3 THEN 21
WHEN substr("COLOR_CODE",1,1 ) IS 4 THEN 31
WHEN substr("COLOR_CODE",1,1 ) IS 5 THEN 42
WHEN substr("COLOR_CODE",1,1 ) IS 6 THEN 54
WHEN substr("COLOR_CODE",1,1 ) IS 7 THEN 67
WHEN substr("COLOR_CODE",1,1 ) IS 8 THEN 80
ELSE 100
END,
CASE WHEN substr("COLOR_CODE",4,1 ) IS 0 THEN 0
WHEN substr("COLOR_CODE",4,1 ) IS 1 THEN 7
WHEN substr("COLOR_CODE",4,1 ) IS 2 THEN 14
WHEN substr("COLOR_CODE",4,1 ) IS 3 THEN 21
WHEN substr("COLOR_CODE",4,1 ) IS 4 THEN 31
WHEN substr("COLOR_CODE",4,1 ) IS 5 THEN 42
WHEN substr("COLOR_CODE",4,1 ) IS 6 THEN 54
WHEN substr("COLOR_CODE",4,1 ) IS 7 THEN 67
WHEN substr("COLOR_CODE",4,1 ) IS 8 THEN 80
ELSE 0
END)
mas isso dá a cor preta nas caixas de legenda.
Por isso, pensei que poderia resolver o problema usando o script acima para calcular um novo campo de cores que funcionou muito bem e retornou valores RGB como 255,200,220. Então eu tentei
Color_rgb("Color")
para produzir uma cor definida por dados sem sorte (fórmula inválida)! Analisei o campo de cores em três campos - vermelho, verde e azul e a seguinte fórmula -
color_rgb("Red","Green","Blue")
na caixa de fórmula de cores definidas pelos dados, deu a cor certa no mapa e a legenda não é mais preta - mas usa as configurações da rampa de cores para determinar a cor da legenda.
Parece que precisamos de uma opção na caixa suspensa de rampa de cores para especificar cores definidas pelos dados e, em seguida, deve usar qualquer cor definida pelos dados para produzir a legenda.
Todas as outras soluções alternativas são boas, mas ao usar o filtro de legenda no compositor de mapas, é necessário obter o resultado certo e não ter que ir a todas as caixas de legendas e digitar os códigos rgb nas opções de escolha de cores.