How to add a frame to a seaborn heatmap figure in Python? Last Updated : 03 Jan, 2021 Comments Improve Suggest changes Like Article Like Report A heatmap is a graphical representation of data where values are depicted by color. They make it easy to understand complex data at a glance. Heatmaps can be easily drawn using seaborn in python. In this article, we are going to add a frame to a seaborn heatmap figure in Python. Syntax: seaborn.heatmap(data, *, vmin=None, vmax=None, cmap=None, center=None, annot_kws=None, linewidths=0, linecolor=’white’, cbar=True, **kwargs) Important Parameters: data: 2D dataset that can be coerced into an ndarray.linewidths: Width of the lines that will divide each cell.linecolor: Color of the lines that will divide each cell.cbar: Whether to draw a colorbar. All the parameters except data are optional. Returns: An object of type matplotlib.axes._subplots.AxesSubplot Create a heatmap To draw the heatmap we will use the in-built data set of seaborn. Seaborn has many in-built data sets like titanic.csv, penguins.csv, flights.csv, exercise.csv. We can also make our data set it should just be a rectangular ndarray. Python3 # Import libraries import seaborn as sns import matplotlib.pyplot as plt # Preparing dataset example = sns.load_dataset("flights") example = example.pivot("month", "year", "passengers") # Creating plot res = sns.heatmap(example) # show plot plt.show() Output: basic heatmapThere are two ways of drawing the frame around a heatmap:Using axhline and axvline.Using spines (more optimal) Method 1: Using axhline and axvline The Axes.axhline() and Axes.axvline() function in axes module of matplotlib library is used to add a horizontal and vertical line across the axis respectively. We can draw two horizontal lines from y=0 and from y= number of rows in our dataset and it will draw a frame covering two sides of our heatmap. Then we can draw two vertical lines from x=0 and x=number of columns in our dataset and it will draw a frame covering the remaining two sides so our heatmap will have a complete frame. Note: It is not an optimal way to draw a frame as when we increase the line width is does not consider when it is overlapping the heatmap. Example 1. Python3 # Import libraries import seaborn as sns import matplotlib.pyplot as plt # Preparing dataset example = sns.load_dataset("flights") example = example.pivot("month", "year", "passengers") # Creating plot res = sns.heatmap(example, cmap = "BuPu") # Drawing the frame res.axhline(y = 0, color='k',linewidth = 10) res.axhline(y = example.shape[1], color = 'k', linewidth = 10) res.axvline(x = 0, color = 'k', linewidth = 10) res.axvline(x = example.shape[0], color = 'k', linewidth = 10) # show plot plt.show() Output: Example 2: Python3 # Import libraries import seaborn as sns import matplotlib.pyplot as plt import numpy as np # Preparing dataset example = np.random.rand(10, 12) # Creating plot res = sns.heatmap(example, cmap = "magma", linewidths = 0.5) # Drawing the frame res.axhline(y = 0, color = 'k', linewidth = 15) res.axhline(y = 10, color = 'k', linewidth = 15) res.axvline(x = 0, color = 'k', linewidth = 15) res.axvline(x = 12, color = 'k', linewidth = 15) # show plot plt.show() Output: Method 2: Using spines Spines are the lines connecting the axis tick marks and noting the boundaries of the data area. They can be placed at arbitrary positions. Example 1: width of the line can be changed using the set_linewidth parameter which accepts a float value as an argument. Python3 # Import libraries import seaborn as sns import matplotlib.pyplot as plt # Preparing dataset example = sns.load_dataset("flights") example = example.pivot("month", "year", "passengers") # Creating plot res = sns.heatmap(example, cmap = "Purples") # Drawing the frame for _, spine in res.spines.items(): spine.set_visible(True) spine.set_linewidth(5) # show plot plt.show() Output: Example 2: We can specify the style of the frame using the set_linestyle parameter of the spine(solid, dashed, dashdot, dotted). Python3 # Import libraries import seaborn as sns import matplotlib.pyplot as plt import numpy as np # Preparing dataset example = np.random.rand(10, 12) # Creating plot res = sns.heatmap(example, cmap = "Greens", linewidths = 2, linecolor = "white") # Drawing the frame for _, spine in res.spines.items(): spine.set_visible(True) spine.set_linewidth(3) spine.set_linestyle("dashdot") # show plot plt.show() Output: Comment More infoAdvertise with us Next Article How to increase the size of the annotations of a seaborn heatmap in Python? H hg070401 Follow Improve Article Tags : Python Python-Seaborn Practice Tags : python Similar Reads IntroductionPython Seaborn TutorialSeaborn is a library mostly used for statistical plotting in Python. It is built on top of Matplotlib and provides beautiful default styles and color palettes to make statistical plots more attractive.In this tutorial, we will learn about Python Seaborn from basics to advance using a huge dataset of15+ min readIntroduction to Seaborn - PythonPrerequisite - Matplotlib Library Visualization is an important part of storytelling, we can gain a lot of information from data by simply just plotting the features of data. Python provides a numerous number of libraries for data visualization, we have already seen the Matplotlib library in this ar5 min readPlotting graph using Seaborn | PythonThis article will introduce you to graphing in Python with Seaborn, which is the most popular statistical visualization library in Python. Installation: The easiest way to install seaborn is to use pip. Type following command in terminal:  pip install seaborn OR, you can download it from here and i7 min readStyling PlotsSeaborn | Style And ColorSeaborn is a statistical plotting library in python. It has beautiful default styles. This article deals with the ways of styling the different kinds of plots in seaborn. Seaborn Figure Styles This affects things like the color of the axes, whether a grid is enabled by default, and other aesthetic4 min readSeaborn - Color PaletteIn this article, We are going to see seaborn color_palette(), which can be used for coloring the plot. Using the palette we can generate the point with different colors. Example:Pythonimport seaborn as sns import matplotlib.pyplot as plt # Set a Seaborn color palette sns.set_palette("Set2") # Create3 min readMultiple PlotsPython - seaborn.FacetGrid() methodPrerequisite: Seaborn Programming Basics Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics. Seaborn helps resolve the two major problems faced by Matplotlib; the problems are ? Default Ma3 min readPython - seaborn.PairGrid() methodPrerequisite: Seaborn Programming Basics Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics. Seaborn helps resolve the two major problems faced by Matplotlib; the problems are ? Default Ma3 min readScatter PlotScatterplot using Seaborn in PythonSeaborn is an amazing visualization library for statistical graphics plotting in Python. It provides beautiful default styles and color palettes to make statistical plots more attractive. It is built on the top of matplotlib library and also closely integrated into the data structures from pandas.Wh4 min readVisualizing Relationship between variables with scatter plots in SeabornTo understand how variables in a dataset are related to one another and how that relationship is dependent on other variables, we perform statistical analysis. This Statistical analysis helps to visualize the trends and identify various patterns in the dataset. One of the functions which can be used2 min readHow To Make Scatter Plot with Regression Line using Seaborn in Python?In this article, we will learn how to male scatter plots with regression lines using Seaborn in Python. Let's discuss some concepts : Seaborn : Seaborn is a tremendous visualization library for statistical graphics plotting in Python. It provides beautiful default styles and color palettes to make s2 min readScatter Plot with Marginal Histograms in Python with SeabornPrerequisites: Seaborn Scatter Plot with Marginal Histograms is basically a joint distribution plot with the marginal distributions of the two variables. In data visualization, we often plot the joint behavior of two random variables (bi-variate distribution) or any number of random variables. But2 min readLine PlotData Visualization with Seaborn Line PlotPrerequisite: SeabornMatplotlib Presenting data graphically to emit some information is known as data visualization. It basically is an image to help a person interpret what the data represents and study it and its nature in detail. Dealing with large scale data row-wise is an extremely tedious tas4 min readCreating A Time Series Plot With Seaborn And PandasIn this article, we will learn how to create A Time Series Plot With Seaborn And Pandas. Let's discuss some concepts : Pandas is an open-source library that's built on top of NumPy library. It's a Python package that gives various data structures and operations for manipulating numerical data and st4 min readHow to Make a Time Series Plot with Rolling Average in Python?Time Series Plot is used to observe various trends in the dataset over a period of time. In such problems, the data is ordered by time and can fluctuate by the unit of time considered in the dataset (day, month, seconds, hours, etc.). When plotting the time series data, these fluctuations may preven4 min readBar PlotBarplot using seaborn in PythonSeaborn is an amazing visualization library for statistical graphics plotting in Python. It provides beautiful default styles and color palettes to make statistical plots more attractive. It is built on the top of matplotlib library and also closely integrated to the data structures from pandas. Se6 min readSeaborn - Sort Bars in BarplotPrerequisite: Seaborn, Barplot In this article, we are going to see how to sort the bar in barplot using Seaborn in python. Seaborn is an amazing visualization library for statistical graphics plotting in Python. It provides beautiful default styles and color palettes to make statistical plots more3 min readCount Plotseaborn.countplot() in Pythonseaborn.countplot() is a function in the Seaborn library in Python used to display the counts of observations in categorical data. It shows the distribution of a single categorical variable or the relationship between two categorical variables by creating a bar plot. Example:Pythonimport seaborn as8 min readBox PlotBoxplot using Seaborn in PythonBoxplot is used to see the distribution of numerical data and identify key stats like minimum and maximum values, median, identifying outliers, understanding how data is distributed and can compare the distribution of data across different categories or variables. In Seaborn the seaborn.boxplot() fu3 min readHorizontal Boxplots with Seaborn in PythonPrerequisite: seaborn The Boxplots are used to visualize the distribution of data which is useful when a comparison of data is required. Sometimes, Boxplot is also known as a box-and-whisker plot. The box shows the quartiles of dataset and whiskers extend to show rest of the distribution. In this ar1 min readSeaborn - Coloring Boxplots with PalettesAdding the right set of color with your data visualization makes it more impressive and readable, seaborn color palettes make it easy to use colors with your visualization. In this article, we will see how to color boxplot with seaborn color palettes also learn the uses of seaborn color palettes and2 min readHow to Show Mean on Boxplot using Seaborn in Python?A boxplot is a powerful data visualization tool used to understand the distribution of data. It splits the data into quartiles, and summarises it based on five numbers derived from these quartiles: median: the middle value of data. marked as Q2, portrays the 50th percentile.first quartile: the middl2 min readHow To Manually Order Boxplot in Seaborn?Seaborn is an amazing visualization library for statistical graphics plotting in Python. It provides beautiful default styles and color palettes to make statistical plots more attractive. It is built on the top of matplotlib library and also closely integrated into the data structures from pandas.Se3 min readGrouped Boxplots in Python with SeabornBoxplot depicts the distribution of quantitative data facilitating comparisons between different variables, continuous or categorical. It is a common data dispersion measure. Boxplots consist of a five-number summary which helps in detecting and removing outliers from the dataset. Minimum observatio2 min readBox plot visualization with Pandas and SeabornBox Plot is the visual representation of the depicting groups of numerical data through their quartiles. Boxplot is also used for detect the outlier in data set. It captures the summary of the data efficiently with a simple box and whiskers and allows us to compare easily across groups. Boxplot summ3 min readViolin PlotViolinplot using Seaborn in PythonSeaborn is an amazing visualization library for statistical graphics plotting in Python. It provides beautiful default styles and color palettes to make statistical plots more attractive. It is built on the top of matplotlib library and also closely integrated into the data structures from pandas. V6 min readHow to Make Horizontal Violin Plot with Seaborn in Python?In this article, we are going to plot a horizontal Violin plot with seaborn. We can use two methods for the Drawing horizontal Violin plot, Violinplot() and catplot(). Method 1: Using violinplot() A violin plot plays a similar activity that is pursued through whisker or box plot do. As it shows seve3 min readHow to Make Grouped Violinplot with Seaborn in Python?This article depicts how to make a grouped violinplot with Seaborn in python. Violinplot is a great way of visualizing the data as a combination of the box plot with the kernel density plots to produce a new type of plot. For this article, we will be using the iris dataset to plot data. This comes3 min readStrip PlotStripplot using Seaborn in PythonSeaborn is an amazing visualization library for statistical graphics plotting in Python. It provides beautiful default styles and color palettes to make statistical plots more attractive. It is built on top of the matplotlib library and also closely integrated into the data structures from pandas. S5 min read Like