Heat map + Numbers: Difference between revisions

From Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 24: Line 24:
Then we isolate the numerical part of the first matrix  
Then we isolate the numerical part of the first matrix  


   n1 = c1[[2;;All,2;;All]]  
   n1 = c1[ [2;;All,2;;All] ]  


And we assign the variables for the Colored table  
And we assign the variables for the Colored table  


   l1 = c1[[2;;All,1]]  
   l1 = c1[ [2;;All,1] ]  
   p1 = c1[[1,2;;All]]  
   p1 = c1[ [1,2;;All] ]  


Finally with the ImageCompose function, we overimpose the colored table to the numbered table
Finally with the ImageCompose function, we overimpose the colored table to the numbered table

Revision as of 15:35, 6 July 2012

First we write down the First Matrix, in which every number will be substituted by a color

N.B. The table contains also the Axis Legend.

  c1 = {
       {"Esol", "Ir", "Ru", "Sn", "Ti"}, 
       {"IrO2", 0.00, -0.14, 0.80, 0.37}, 
       {"RuO2", -0.10, 0.00, 1.03, 0.69}, 
       {"SnO2", 0.54, 0.43, 0.00, 0.17}, 
       {"TiO2", -0.71, 0.63, 0.62, 0.00}
       }

Second, we write down a Second Matrix, in which the numbers will be written over the colored tables

N.B. It's the same matrix as the first but limited to the numbers; The numbers ending with a zero have to be written between "", otherwise they will be rounded on the final figure (0.00 becomes 0.)

  c2 = {
       {"0.00", -0.14, "0.80", 0.37}, 
       {"-0.10", "0.00", 1.03, 0.69}, 
       {0.54, 0.43, "0.00", 0.17}, 
       {-0.71, 0.63, 0.62, "0.00"}
       }

Then we isolate the numerical part of the first matrix

  n1 = c1[ [2;;All,2;;All] ] 

And we assign the variables for the Colored table

  l1 = c1[ [2;;All,1] ] 
  p1 = c1[ [1,2;;All] ] 

Finally with the ImageCompose function, we overimpose the colored table to the numbered table

  ImageCompose[
     ArrayPlot[n1, ColorFunction -> "Rainbow", 
        ColorFunctionScaling -> True, Frame -> True, 
        FrameStyle -> Opacity[0], AspectRatio -> 0.737, 
        FrameTicks -> {{Transpose[{Range[Length[l1]], l1}], None}, {None, 
        Transpose[{Range[Length[p1]], p1}]}},
        FrameTicksStyle -> 
           Directive[Opacity[1], Bold, FontSize -> 60, FontFamily -> "Times"],
        Mesh -> All, MeshStyle -> White, ImageSize -> 1000],
     
     GraphicsGrid[c2, BaseStyle -> {"Times", 45, Bold, White}, 
        AspectRatio -> 0.75, ImageSize -> 780] , {580, 310}
     ]