Heat map + Numbers: Difference between revisions

From Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:


   c1 = {
   c1 = {
         {"\!\(\*SubscriptBox[\(E\), \(sol\)]\)", "Ir", "Ru", "Sn", "Ti"},  
         {"Esol", "Ir", "Ru", "Sn", "Ti"},  
         {"\!\(\*SubscriptBox[\(IrO\), \(2\)]\)", 0.00, -0.14, 0.80, 0.37},  
         {"IrO2", 0.00, -0.14, 0.80, 0.37},  
         {"\!\(\*SubscriptBox[\(RuO\), \(2\)]\)", -0.10, 0.00, 1.03, 0.69},  
         {"RuO2", -0.10, 0.00, 1.03, 0.69},  
         {"\!\(\*SubscriptBox[\(SnO\), \(2\)]\)", 0.54, 0.43, 0.00, 0.17},  
         {"SnO2", 0.54, 0.43, 0.00, 0.17},  
         {"\!\(\*SubscriptBox[\(TiO\), \(2\)]\)", -0.71, 0.63, 0.62, 0.00}
         {"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  
Second, we write down a Second Matrix, in which the numbers will be written over the colored tables  


N.B. They are the same numbers of the previous table; The numbers ending with a zero have to be written between "", otherwise they will be rounded on the final figure (0.00 becomes 0.)
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 = {
   c2 = {
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 Figure
And we assign the variables for the Colored table


   l1 = c1[[2 ;; All, 1]] (*Width of a line*)
   l1 = c1[[2;;All,1]]  
   p1 = c1[[1, 2 ;; All]] (*Height of a column*)
   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
Line 44: Line 44:
        
        
       GraphicsGrid[c2, BaseStyle -> {"Times", 45, Bold, White},  
       GraphicsGrid[c2, BaseStyle -> {"Times", 45, Bold, White},  
         AspectRatio -> 0.75, ImageSize -> 780] , {580, 310}]
         AspectRatio -> 0.75, ImageSize -> 780] , {580, 310}
      ]

Revision as of 15:34, 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 = c12;;All,2;;All 

And we assign the variables for the Colored table

  l1 = c12;;All,1 
  p1 = c11,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}
     ]