Increase the heatmap size with a seagoing vessel

I create a heat map with the seabed

df1.index = pd.to_datetime(df1.index) df1 = df1.set_index('TIMESTAMP') df1 = df1.resample('30min').mean() ax = sns.heatmap(df1.iloc[:, 1:6:], annot=True, linewidths=.5) 

But the problem is that there is a lot of data in the dataset, that the heat map will be too small, and the value inside begins fuzzy, as in the attached image.

How can I resize the heatmap to be larger? thanks enter image description here

EDIT

I'm trying to:

 df1.index = pd.to_datetime(df1.index) fig, ax = plt.subplots(figsize=(10,10)) # Sample figsize in inches sns.heatmap(df1.iloc[:, 1:6:], annot=True, linewidths=.5, ax=ax) df1 = df1.set_index('TIMESTAMP') df1 = df1.resample('1d').mean() ax = sns.heatmap(df1.iloc[:, 1:6:], annot=True, linewidths=.5) 

But I get this error:

 KeyError Traceback (most recent call last) C:\Users\Demonstrator\Anaconda3\lib\site-packages\pandas\indexes\base.py in get_loc(self, key, method, tolerance) 1944 try: -> 1945 return self._engine.get_loc(key) 1946 except KeyError: pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4154)() pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4018)() pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12368)() pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12322)() KeyError: 'TIMESTAMP' During handling of the above exception, another exception occurred: KeyError Traceback (most recent call last) <ipython-input-779-acaf05718dd8> in <module>() 2 fig, ax = plt.subplots(figsize=(10,10)) # Sample figsize in inches 3 sns.heatmap(df1.iloc[:, 1:6:], annot=True, linewidths=.5, ax=ax) ----> 4 df1 = df1.set_index('TIMESTAMP') 5 df1 = df1.resample('1d').mean() 6 ax = sns.heatmap(df1.iloc[:, 1:6:], annot=True, linewidths=.5) C:\Users\Demonstrator\Anaconda3\lib\site-packages\pandas\core\frame.py in set_index(self, keys, drop, append, inplace, verify_integrity) 2835 names.append(None) 2836 else: -> 2837 level = frame[col]._values 2838 names.append(col) 2839 if drop: C:\Users\Demonstrator\Anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key) 1995 return self._getitem_multilevel(key) 1996 else: -> 1997 return self._getitem_column(key) 1998 1999 def _getitem_column(self, key): C:\Users\Demonstrator\Anaconda3\lib\site-packages\pandas\core\frame.py in _getitem_column(self, key) 2002 # get column 2003 if self.columns.is_unique: -> 2004 return self._get_item_cache(key) 2005 2006 # duplicate columns & possible reduce dimensionality C:\Users\Demonstrator\Anaconda3\lib\site-packages\pandas\core\generic.py in _get_item_cache(self, item) 1348 res = cache.get(item) 1349 if res is None: -> 1350 values = self._data.get(item) 1351 res = self._box_item_values(item, values) 1352 cache[item] = res C:\Users\Demonstrator\Anaconda3\lib\site-packages\pandas\core\internals.py in get(self, item, fastpath) 3288 3289 if not isnull(item): -> 3290 loc = self.items.get_loc(item) 3291 else: 3292 indexer = np.arange(len(self.items))[isnull(self.items)] C:\Users\Demonstrator\Anaconda3\lib\site-packages\pandas\indexes\base.py in get_loc(self, key, method, tolerance) 1945 return self._engine.get_loc(key) 1946 except KeyError: -> 1947 return self._engine.get_loc(self._maybe_cast_indexer(key)) 1948 1949 indexer = self.get_indexer([key], method=method, tolerance=tolerance) pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4154)() pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4018)() pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12368)() pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12322)() KeyError: 'TIMESTAMP' 

EDIT

 TypeError Traceback (most recent call last) <ipython-input-890-86bff697504a> in <module>() 2 df2.resample('30min').mean() 3 fig, ax = plt.subplots() ----> 4 ax = sns.heatmap(df2.iloc[:, 1:6:], annot=True, linewidths=.5) 5 ax.set_yticklabels([i.strftime("%Y-%m-%d %H:%M:%S") for i in df2.index], rotation=0) C:\Users\Demonstrator\Anaconda3\lib\site-packages\seaborn\matrix.py in heatmap(data, vmin, vmax, cmap, center, robust, annot, fmt, annot_kws, linewidths, linecolor, cbar, cbar_kws, cbar_ax, square, ax, xticklabels, yticklabels, mask, **kwargs) 483 plotter = _HeatMapper(data, vmin, vmax, cmap, center, robust, annot, fmt, 484 annot_kws, cbar, cbar_kws, xticklabels, --> 485 yticklabels, mask) 486 487 # Add the pcolormesh kwargs here C:\Users\Demonstrator\Anaconda3\lib\site-packages\seaborn\matrix.py in __init__(self, data, vmin, vmax, cmap, center, robust, annot, fmt, annot_kws, cbar, cbar_kws, xticklabels, yticklabels, mask) 165 # Determine good default values for the colormapping 166 self._determine_cmap_params(plot_data, vmin, vmax, --> 167 cmap, center, robust) 168 169 # Sort out the annotations C:\Users\Demonstrator\Anaconda3\lib\site-packages\seaborn\matrix.py in _determine_cmap_params(self, plot_data, vmin, vmax, cmap, center, robust) 202 cmap, center, robust): 203 """Use some heuristics to set good defaults for colorbar and range.""" --> 204 calc_data = plot_data.data[~np.isnan(plot_data.data)] 205 if vmin is None: 206 vmin = np.percentile(calc_data, 2) if robust else calc_data.min() TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' 
+7
python heatmap seaborn
source share
3 answers

You can change figsize by passing tuple , showing the width, height parameters that you would like to keep.

 import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=(10,10)) # Sample figsize in inches sns.heatmap(df1.iloc[:, 1:6:], annot=True, linewidths=.5, ax=ax) 

EDIT

I remember how I answered a similar question where you had to set the index as TIMESTAMP . So you could do something like below:

 df = df.set_index('TIMESTAMP') df.resample('30min').mean() fig, ax = plt.subplots() ax = sns.heatmap(df.iloc[:, 1:6:], annot=True, linewidths=.5) ax.set_yticklabels([i.strftime("%Y-%m-%d %H:%M:%S") for i in df.index], rotation=0) 

For the head output data block, the graph will look like this:

enter image description here

+17
source share

add plt.figure(figsize=(16,5)) to sns.heatmap and play with figsize numbers until you get the desired size

 ... plt.figure(figsize = (16,5)) ax = sns.heatmap(df1.iloc[:, 1:6:], annot=True, linewidths=.5) 
+2
source share

fmt : string, optional string formatting code to use when adding Annotations

Origin: Maritime documents

Add fmt parameter with d to show it as an integer

 ax = sns.heatmap(df1.iloc[:, 1:6:], annot=True, linewidths=.5, fmt="d") 
+1
source share

All Articles