4
$\begingroup$

Attempting to make custom discrete color data function:

my custom color:

enter image description here

is it possible to use my custom color

colors = Reverse@Table[Hue@h, {h, 0, 0.7, 1/10}] // N;

Thanks to mfvonh, color function and color data

cf[x_] := 
 Which @@ Flatten[
  MapThread[
  List, {x >= # & /@ Reverse@Most@Range[0, 1, 1/Length@colors],  colors}]]

 colordata=cf /@ Rescale[pts[[All, 2]], {0,0.1}];
$\endgroup$
8
$\begingroup$

You can just make your own function, though in most situations you can just pass a list of colors.

colors = Table[Hue@h, {h, 0, 0.7, 1/10}];
discrete[x_] := Part[colors, x];
ContourPlot[x + Sin[x^2 + y^2], {x, -4, 4}, {y, -4, 4}, Contours -> 9,
  ContourShading -> colors]

enter image description here

For a gradient, use Blend:

gradient[x_] := Blend[colors, x];
Plot3D[Exp[-x^2 - y^2], {x, -2, 2}, {y, -2, 2}, 
 ColorFunction -> (gradient[#3] &)]

enter image description here

$\endgroup$
  • $\begingroup$ Can you give an example? In Graphics you usually specify colors explicitly with directives. $\endgroup$ – mfvonh Jun 18 '14 at 17:28
  • 1
    $\begingroup$ Here's the basic idea in most Graphics situations: Riffle[Table[Rectangle[{i, 0}], {i, 8}], colors]. (Add //Graphics to see it rendered.) $\endgroup$ – mfvonh Jun 18 '14 at 17:33
  • 1
    $\begingroup$ I'm not sure exactly what you mean, but perhaps this? Graphics3D[{PointSize@.02, First@colors, Riffle[pts, colors]} /. p : {__?NumericQ} -> Point[p]]. $\endgroup$ – mfvonh Jun 18 '14 at 21:16
  • $\begingroup$ That's related to the plotting function. Look at the "Details" section in the ColorFunction docs $\endgroup$ – mfvonh Jun 19 '14 at 16:52
  • 1
    $\begingroup$ Graphics[GraphicsComplex[pts,{Polygon@poly},VertexColors->(gradient/@Rescale[pts[[All,2]],{0,0.1}])],AspectRatio->1/2,Frame->True] $\endgroup$ – mfvonh Jun 19 '14 at 18:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.