MLCC Capacitor color
OEM's are free to use any material source they want to bake the parts. Only the biggest OEM's (Japanese) make their own slurry of material which has a color common to the basic mix of ceramics.  There are more ceramic types than colours I suspect but perhaps the fundamental metal materials determine the colour codes.  

For example C0G,  X5R and X7R are different shades of tan which have different thermal properties.

for Example a ceramic with Zinc may be a lighter gray colour.

Ceramic class codes

C0G
CK
CJ
CH
SL
U2J
UJ
X8G
X7R
X7S
X7T
X7U
R
X6S
X6T
X5R
B

Ceramic materials

MgNb2O6
ZnNb2O6
MgTa2O6
ZnTa2O6
(ZnMg)TiO3
(ZrSn)TiO4
Ba2Ti9O20

The dispersed transition metals of Niobium Nb, Tantalum, Ta and Zirconium, Zr with metals particles like Mg, Zn, Sn and dielectric Oxides using Oxygen.  These get mixed in a slurry to make the end result with the multilayer deposited electrodes.

So my guess it is the basic metals or transition metals that determine the colour of the resulting dielectric, and not the class or code type or the recipe mix of particles in the slurry that achieve these code types.

p.s.

NP0 is often said  "NP-oh" the  Americanized origin of NP"zero" which stands for 0 temp. coefficient (NP=+/-50ppm/C).  There is also N150 (-150ppm/'C), N300, P100 etc. which is similar but NP determine polarity and the number indicates PPM or parts per million/'C for temperature compensation uses.  such as to compensate for the tempco of  inductors in an LC filter or resonator.

NP0 uses C0G ceramic material so these are interchangable in meaning.

C0G is also not piezoelectric like other ceramics and has the lowest k constant so these are quite limited in value range.