👀
Crash Visualization
  • Welcome
  • Preface
    • Who the book is written for
    • How the book is organized
  • 1. Introduction of Data Visualization
    • 1.1 What is data visualization?
    • 1.2 Why does visualization matter?
  • 2. Tricks in Visualization
    • 2.1 Choose Appropriate Chart
    • 2.2 Features of Charts
      • 2.2.1 Table
      • 2.2.2 Column Chart
      • 2.2.3 Line Chart
      • 2.2.4 Pie Chart
      • 2.2.5 Scatter Chart
      • 2.2.6 Map Chart
    • 2.3 Misused Graph
    • 2.4 Tips in Visualization
  • 3. Matplotlib
    • 3.1 Basic Concepts
    • 3.2 Line Chart
    • 3.3 Area Chart
    • 3.4 Column Chart
    • 3.5 Histogram Chart
    • 3.6 Scatter Chart
    • 3.7 Lollipop Chart
    • 3.8 Pie Chart
    • 3.9 Venn Chart
    • 3.10 Waffle Chart
    • 3.11 Animation
  • 4. Seaborn
    • 4.1 Trends
    • 4.2 Ranking
      • 4.2.1 Barplot
      • 4.2.2 Boxplot
    • 4.3 Composition
      • 4.3.1 Stacked Chart
    • 4.4 Correlation
      • 4.4.1 Scatter Plot
      • 4.4.2 Linear Relationship
      • 4.4.3 Heatmap
      • 4.4.4 Pairplot
    • 4.5 Distribution
      • 4.5.1 Boxplot
      • 4.5.2 Violin plot
      • 4.5.3 Histogram plot
      • 4.5.4 Density plot
      • 4.5.5 Joint plot
  • 5. Bokeh
    • 5.1 Basic Plotting
    • 5.2 Data Sources
    • 5.3 Annotations
    • 5.4 Categorical Data
    • 5.5 Presentation and Layouts
    • 5.6 Linking and Interactions
    • 5.7 Network Graph
    • 5.8 Widgets
  • 6. Plotly
    • 6.1 Fundamental Concepts
      • 6.1.1 Plotly Express
      • 6.1.2 Plotly Graph Objects
    • 6.2 Advanced Charts
      • 6.2.1 Advanced Scatter Chart
      • 6.2.2 Advanced Bar Chart
      • 6.2.3 Advanced Pie Chart
      • 6.2.4 Advanced Heatmap
      • 6.2.5 Sankey Chart
      • 6.2.6 Tables
    • 6.3 Statistical Charts
      • 6.3.1 Common Statistical Charts
      • 6.3.2 Dendrograms
      • 6.3.3 Radar Chart
      • 6.3.4 Polar Chart
      • 6.3.5 Streamline Chart
    • 6.4 Financial Charts
      • 6.4.1 Funnel Chart
      • 6.4.2 Candlestick Chart
      • 6.4.3 Waterfall Chart
  • Support
    • Donation
Powered by GitBook
On this page
  • 1. Heatmap and Annotation
  • 2. Horizontal Bar Heatmap
  • 3. Categorical Heatmap (in Triangle)

Was this helpful?

  1. 4. Seaborn
  2. 4.4 Correlation

4.4.3 Heatmap

Previous4.4.2 Linear RelationshipNext4.4.4 Pairplot

Last updated 4 years ago

Was this helpful?

The heatmap is a way of representing the data in a 2-dimensional form. The data values are represented as colors in the graph. The goal of the heatmap is to provide a colored visual summary of information.

1. Heatmap and Annotation

We will create a random dataset and a subplot. The left one is the default mode heatmap, the right one shows the annotation.

# Create a random dataset 
data = np.random.rand(5, 10)
f,axes = plt.subplots(1,2, figsize = (20,6))
sns.heatmap(data, ax=axes[0])
sns.heatmap(data, annot=True, ax=axes[1])

2. Horizontal Bar Heatmap

Meanwhile, we can change the color bar to horizontal.

sns.heatmap(data, annot=True, 
        cbar_kws={'label': 'Horizontal Colorbar', 'orientation': 'horizontal'})

In General, the darker color represents the larger value, the lighter color represent the smaller value. The above example violates the principle. So, we need to modify the color set bycmapparameter

Also, with the annotation display, we can read the information directly. To make the graph as clean and simple as possible, we can remove the color bar.

f,axes = plt.subplots(1,2, figsize = (20,6))
sns.heatmap(data,cmap="YlGnBu",ax=axes[0])
sns.heatmap(data,cmap="YlGnBu",annot=True, cbar=False,ax=axes[1])

3. Categorical Heatmap (in Triangle)

# create a simple dataset,giving the column names.
d = pd.DataFrame(data,
                 columns=['A','B','C','D','E','F','G','H','I','J'])
                 
# Compute the correlation matrix
corr = d.corr()

# Generate a mask for the upper triangle
mask = np.triu(np.ones_like(corr, dtype=np.bool))

# Generate a custom diverging colormap
cmap = sns.diverging_palette(220, 10, as_cmap=True)

# Draw the heatmap with the mask and correct aspect ratio
sns.heatmap(corr,mask = mask,cmap=cmap, vmax=.3, center=0,
            square=True, linewidths=.5, cbar_kws={"shrink": .5})

Advanced Heatmap
Simple Heatmap
Horizontal Colorbar Heatmap