messy heatmap when plotting
up vote
0
down vote
favorite
I have a dataframe,df, with 29 rows and 92 columns with the rows being datetime Index and float as the column names representing the frequency of each of the column names day by day. I intend to plot a heatmap but i am getting a scattered plot. An example of dataframe looks like:
Index 0.0 1.0 2.0..... 91
2017-08-03 00:00:00 10 0 10 0
2017-08-04 00:00:00 20 60 1470 20
2017-08-05 00:00:00 0 58 0 24
2017-08-06 00:00:00 0 0 480 24
2017-09-07 00:00:00 0 0 0 25
: : : : :
: : : : :
2017-09-30 00:00:00
This is heatmap function that was called:
def heatmap(data, row_labels, col_labels, ax=None,
cbar_kw={}, cbarlabel="", **kwargs):
"""
Create a heatmap from a numpy array and two lists of labels.
Arguments:
data : A 2D numpy array of shape (N,M)
row_labels : A list or array of length N with the labels
for the rows
col_labels : A list or array of length M with the labels
for the columns
Optional arguments:
ax : A matplotlib.axes.Axes instance to which the heatmap
is plotted. If not provided, use current axes or
create a new one.
cbar_kw : A dictionary with arguments to
:meth:`matplotlib.Figure.colorbar`.
cbarlabel : The label for the colorbar
All other arguments are directly passed on to the imshow call.
"""
if not ax:
ax = plt.gca()
# Plot the heatmap
im = ax.imshow(data, **kwargs)
# Create colorbar
cbar = ax.figure.colorbar(im, ax=ax, **cbar_kw)
cbar.ax.set_ylabel(cbarlabel, rotation=-90, va="bottom")
# We want to show all ticks...
ax.set_xticks(np.arange(data.shape[1]))
ax.set_yticks(np.arange(data.shape[0]))
# ... and label them with the respective list entries.
ax.set_xticklabels(col_labels)
ax.set_yticklabels(row_labels)
# Let the horizontal axes labeling appear on top.
ax.tick_params(top=True, bottom=False,
labeltop=True, labelbottom=False)
# Rotate the tick labels and set their alignment.
plt.setp(ax.get_xticklabels(), rotation=-30, ha="right",
rotation_mode="anchor")
# Turn spines off and create white grid.
for edge, spine in ax.spines.items():
spine.set_visible(False)
ax.set_xticks(np.arange(data.shape[1]+1)-.5, minor=True)
ax.set_yticks(np.arange(data.shape[0]+1)-.5, minor=True)
ax.grid(which="minor", color="w", linestyle='-', linewidth=3)
ax.tick_params(which="minor", bottom=False, left=False)
return im, cbar
def annotate_heatmap(im, data=None, valfmt="{x:.2f}",
textcolors=["black", "white"],
threshold=None, **textkw):
"""
A function to annotate a heatmap.
Arguments:
im : The AxesImage to be labeled.
Optional arguments:
data : Data used to annotate. If None, the image's data is used.
valfmt : The format of the annotations inside the heatmap.
This should either use the string format method, e.g.
"$ {x:.2f}", or be a :class:`matplotlib.ticker.Formatter`.
textcolors : A list or array of two color specifications. The first is
used for values below a threshold, the second for those
above.
threshold : Value in data units according to which the colors from
textcolors are applied. If None (the default) uses the
middle of the colormap as separation.
Further arguments are passed on to the created text labels.
"""
if not isinstance(data, (list, np.ndarray)):
data = im.get_array()
# Normalize the threshold to the images color range.
if threshold is not None:
threshold = im.norm(threshold)
else:
threshold = im.norm(data.max())/2.
# Set default alignment to center, but allow it to be
# overwritten by textkw.
kw = dict(horizontalalignment="center",
verticalalignment="center")
kw.update(textkw)
# Get the formatter in case a string is supplied
if isinstance(valfmt, str):
valfmt = matplotlib.ticker.StrMethodFormatter(valfmt)
# Loop over the data and create a `Text` for each "pixel".
# Change the text's color depending on the data.
texts =
for i in range(data.shape[0]):
for j in range(data.shape[1]):
kw.update(color=textcolors[im.norm(data[i, j]) > threshold])
text = im.axes.text(j, i, valfmt(data[i, j], None), **kw)
texts.append(text)
return texts
So running the function with its argument, I used:
Rownames=list(df.index.values)
ColumnNames=list(df.columns.values)
fig, ax = plt.subplots()
im, cbar = heatmap(df, Rownames, ColumnNames, ax=ax,
cmap="YlGn", cbarlabel="frequency [freq/day]")
texts = annotate_heatmap(im, valfmt="{x:.1f} ")
fig.tight_layout()
plt.show()
However i get this :
python pandas matplotlib
add a comment |
up vote
0
down vote
favorite
I have a dataframe,df, with 29 rows and 92 columns with the rows being datetime Index and float as the column names representing the frequency of each of the column names day by day. I intend to plot a heatmap but i am getting a scattered plot. An example of dataframe looks like:
Index 0.0 1.0 2.0..... 91
2017-08-03 00:00:00 10 0 10 0
2017-08-04 00:00:00 20 60 1470 20
2017-08-05 00:00:00 0 58 0 24
2017-08-06 00:00:00 0 0 480 24
2017-09-07 00:00:00 0 0 0 25
: : : : :
: : : : :
2017-09-30 00:00:00
This is heatmap function that was called:
def heatmap(data, row_labels, col_labels, ax=None,
cbar_kw={}, cbarlabel="", **kwargs):
"""
Create a heatmap from a numpy array and two lists of labels.
Arguments:
data : A 2D numpy array of shape (N,M)
row_labels : A list or array of length N with the labels
for the rows
col_labels : A list or array of length M with the labels
for the columns
Optional arguments:
ax : A matplotlib.axes.Axes instance to which the heatmap
is plotted. If not provided, use current axes or
create a new one.
cbar_kw : A dictionary with arguments to
:meth:`matplotlib.Figure.colorbar`.
cbarlabel : The label for the colorbar
All other arguments are directly passed on to the imshow call.
"""
if not ax:
ax = plt.gca()
# Plot the heatmap
im = ax.imshow(data, **kwargs)
# Create colorbar
cbar = ax.figure.colorbar(im, ax=ax, **cbar_kw)
cbar.ax.set_ylabel(cbarlabel, rotation=-90, va="bottom")
# We want to show all ticks...
ax.set_xticks(np.arange(data.shape[1]))
ax.set_yticks(np.arange(data.shape[0]))
# ... and label them with the respective list entries.
ax.set_xticklabels(col_labels)
ax.set_yticklabels(row_labels)
# Let the horizontal axes labeling appear on top.
ax.tick_params(top=True, bottom=False,
labeltop=True, labelbottom=False)
# Rotate the tick labels and set their alignment.
plt.setp(ax.get_xticklabels(), rotation=-30, ha="right",
rotation_mode="anchor")
# Turn spines off and create white grid.
for edge, spine in ax.spines.items():
spine.set_visible(False)
ax.set_xticks(np.arange(data.shape[1]+1)-.5, minor=True)
ax.set_yticks(np.arange(data.shape[0]+1)-.5, minor=True)
ax.grid(which="minor", color="w", linestyle='-', linewidth=3)
ax.tick_params(which="minor", bottom=False, left=False)
return im, cbar
def annotate_heatmap(im, data=None, valfmt="{x:.2f}",
textcolors=["black", "white"],
threshold=None, **textkw):
"""
A function to annotate a heatmap.
Arguments:
im : The AxesImage to be labeled.
Optional arguments:
data : Data used to annotate. If None, the image's data is used.
valfmt : The format of the annotations inside the heatmap.
This should either use the string format method, e.g.
"$ {x:.2f}", or be a :class:`matplotlib.ticker.Formatter`.
textcolors : A list or array of two color specifications. The first is
used for values below a threshold, the second for those
above.
threshold : Value in data units according to which the colors from
textcolors are applied. If None (the default) uses the
middle of the colormap as separation.
Further arguments are passed on to the created text labels.
"""
if not isinstance(data, (list, np.ndarray)):
data = im.get_array()
# Normalize the threshold to the images color range.
if threshold is not None:
threshold = im.norm(threshold)
else:
threshold = im.norm(data.max())/2.
# Set default alignment to center, but allow it to be
# overwritten by textkw.
kw = dict(horizontalalignment="center",
verticalalignment="center")
kw.update(textkw)
# Get the formatter in case a string is supplied
if isinstance(valfmt, str):
valfmt = matplotlib.ticker.StrMethodFormatter(valfmt)
# Loop over the data and create a `Text` for each "pixel".
# Change the text's color depending on the data.
texts =
for i in range(data.shape[0]):
for j in range(data.shape[1]):
kw.update(color=textcolors[im.norm(data[i, j]) > threshold])
text = im.axes.text(j, i, valfmt(data[i, j], None), **kw)
texts.append(text)
return texts
So running the function with its argument, I used:
Rownames=list(df.index.values)
ColumnNames=list(df.columns.values)
fig, ax = plt.subplots()
im, cbar = heatmap(df, Rownames, ColumnNames, ax=ax,
cmap="YlGn", cbarlabel="frequency [freq/day]")
texts = annotate_heatmap(im, valfmt="{x:.1f} ")
fig.tight_layout()
plt.show()
However i get this :
python pandas matplotlib
The code give for me a errorTypeError: Image data cannot be converted to float
, which originates from the lineax.imshow(data, **kwargs)
. Are you sure that there was no mistake during pasting it here?
– gehbiszumeis
Nov 7 at 11:53
Yes,there was no mistake. Thanks
– Bode
Nov 7 at 12:06
You obviously have too much text in your figure, such that the heatmap is not seen any more. So the question is, do you really want to show each cell's value and all row-/column labels? If so, you will need to make the figure about a meter wide. If not, you might want to show only some of the values at the axes. If you then want to stick to the example you could set the rest to empty strings.
– ImportanceOfBeingErnest
Nov 8 at 2:25
Thanks for your response. I intend to show each cell's value and all row-/column labels,so increasing the size worked using ''fig, ax = plt.subplots(1, 1, figsize=(40,40))''
– Bode
Nov 8 at 3:23
It feels too large at one sight.Is there a way i can show the heatmap in a gliding manner
– Bode
Nov 8 at 3:35
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have a dataframe,df, with 29 rows and 92 columns with the rows being datetime Index and float as the column names representing the frequency of each of the column names day by day. I intend to plot a heatmap but i am getting a scattered plot. An example of dataframe looks like:
Index 0.0 1.0 2.0..... 91
2017-08-03 00:00:00 10 0 10 0
2017-08-04 00:00:00 20 60 1470 20
2017-08-05 00:00:00 0 58 0 24
2017-08-06 00:00:00 0 0 480 24
2017-09-07 00:00:00 0 0 0 25
: : : : :
: : : : :
2017-09-30 00:00:00
This is heatmap function that was called:
def heatmap(data, row_labels, col_labels, ax=None,
cbar_kw={}, cbarlabel="", **kwargs):
"""
Create a heatmap from a numpy array and two lists of labels.
Arguments:
data : A 2D numpy array of shape (N,M)
row_labels : A list or array of length N with the labels
for the rows
col_labels : A list or array of length M with the labels
for the columns
Optional arguments:
ax : A matplotlib.axes.Axes instance to which the heatmap
is plotted. If not provided, use current axes or
create a new one.
cbar_kw : A dictionary with arguments to
:meth:`matplotlib.Figure.colorbar`.
cbarlabel : The label for the colorbar
All other arguments are directly passed on to the imshow call.
"""
if not ax:
ax = plt.gca()
# Plot the heatmap
im = ax.imshow(data, **kwargs)
# Create colorbar
cbar = ax.figure.colorbar(im, ax=ax, **cbar_kw)
cbar.ax.set_ylabel(cbarlabel, rotation=-90, va="bottom")
# We want to show all ticks...
ax.set_xticks(np.arange(data.shape[1]))
ax.set_yticks(np.arange(data.shape[0]))
# ... and label them with the respective list entries.
ax.set_xticklabels(col_labels)
ax.set_yticklabels(row_labels)
# Let the horizontal axes labeling appear on top.
ax.tick_params(top=True, bottom=False,
labeltop=True, labelbottom=False)
# Rotate the tick labels and set their alignment.
plt.setp(ax.get_xticklabels(), rotation=-30, ha="right",
rotation_mode="anchor")
# Turn spines off and create white grid.
for edge, spine in ax.spines.items():
spine.set_visible(False)
ax.set_xticks(np.arange(data.shape[1]+1)-.5, minor=True)
ax.set_yticks(np.arange(data.shape[0]+1)-.5, minor=True)
ax.grid(which="minor", color="w", linestyle='-', linewidth=3)
ax.tick_params(which="minor", bottom=False, left=False)
return im, cbar
def annotate_heatmap(im, data=None, valfmt="{x:.2f}",
textcolors=["black", "white"],
threshold=None, **textkw):
"""
A function to annotate a heatmap.
Arguments:
im : The AxesImage to be labeled.
Optional arguments:
data : Data used to annotate. If None, the image's data is used.
valfmt : The format of the annotations inside the heatmap.
This should either use the string format method, e.g.
"$ {x:.2f}", or be a :class:`matplotlib.ticker.Formatter`.
textcolors : A list or array of two color specifications. The first is
used for values below a threshold, the second for those
above.
threshold : Value in data units according to which the colors from
textcolors are applied. If None (the default) uses the
middle of the colormap as separation.
Further arguments are passed on to the created text labels.
"""
if not isinstance(data, (list, np.ndarray)):
data = im.get_array()
# Normalize the threshold to the images color range.
if threshold is not None:
threshold = im.norm(threshold)
else:
threshold = im.norm(data.max())/2.
# Set default alignment to center, but allow it to be
# overwritten by textkw.
kw = dict(horizontalalignment="center",
verticalalignment="center")
kw.update(textkw)
# Get the formatter in case a string is supplied
if isinstance(valfmt, str):
valfmt = matplotlib.ticker.StrMethodFormatter(valfmt)
# Loop over the data and create a `Text` for each "pixel".
# Change the text's color depending on the data.
texts =
for i in range(data.shape[0]):
for j in range(data.shape[1]):
kw.update(color=textcolors[im.norm(data[i, j]) > threshold])
text = im.axes.text(j, i, valfmt(data[i, j], None), **kw)
texts.append(text)
return texts
So running the function with its argument, I used:
Rownames=list(df.index.values)
ColumnNames=list(df.columns.values)
fig, ax = plt.subplots()
im, cbar = heatmap(df, Rownames, ColumnNames, ax=ax,
cmap="YlGn", cbarlabel="frequency [freq/day]")
texts = annotate_heatmap(im, valfmt="{x:.1f} ")
fig.tight_layout()
plt.show()
However i get this :
python pandas matplotlib
I have a dataframe,df, with 29 rows and 92 columns with the rows being datetime Index and float as the column names representing the frequency of each of the column names day by day. I intend to plot a heatmap but i am getting a scattered plot. An example of dataframe looks like:
Index 0.0 1.0 2.0..... 91
2017-08-03 00:00:00 10 0 10 0
2017-08-04 00:00:00 20 60 1470 20
2017-08-05 00:00:00 0 58 0 24
2017-08-06 00:00:00 0 0 480 24
2017-09-07 00:00:00 0 0 0 25
: : : : :
: : : : :
2017-09-30 00:00:00
This is heatmap function that was called:
def heatmap(data, row_labels, col_labels, ax=None,
cbar_kw={}, cbarlabel="", **kwargs):
"""
Create a heatmap from a numpy array and two lists of labels.
Arguments:
data : A 2D numpy array of shape (N,M)
row_labels : A list or array of length N with the labels
for the rows
col_labels : A list or array of length M with the labels
for the columns
Optional arguments:
ax : A matplotlib.axes.Axes instance to which the heatmap
is plotted. If not provided, use current axes or
create a new one.
cbar_kw : A dictionary with arguments to
:meth:`matplotlib.Figure.colorbar`.
cbarlabel : The label for the colorbar
All other arguments are directly passed on to the imshow call.
"""
if not ax:
ax = plt.gca()
# Plot the heatmap
im = ax.imshow(data, **kwargs)
# Create colorbar
cbar = ax.figure.colorbar(im, ax=ax, **cbar_kw)
cbar.ax.set_ylabel(cbarlabel, rotation=-90, va="bottom")
# We want to show all ticks...
ax.set_xticks(np.arange(data.shape[1]))
ax.set_yticks(np.arange(data.shape[0]))
# ... and label them with the respective list entries.
ax.set_xticklabels(col_labels)
ax.set_yticklabels(row_labels)
# Let the horizontal axes labeling appear on top.
ax.tick_params(top=True, bottom=False,
labeltop=True, labelbottom=False)
# Rotate the tick labels and set their alignment.
plt.setp(ax.get_xticklabels(), rotation=-30, ha="right",
rotation_mode="anchor")
# Turn spines off and create white grid.
for edge, spine in ax.spines.items():
spine.set_visible(False)
ax.set_xticks(np.arange(data.shape[1]+1)-.5, minor=True)
ax.set_yticks(np.arange(data.shape[0]+1)-.5, minor=True)
ax.grid(which="minor", color="w", linestyle='-', linewidth=3)
ax.tick_params(which="minor", bottom=False, left=False)
return im, cbar
def annotate_heatmap(im, data=None, valfmt="{x:.2f}",
textcolors=["black", "white"],
threshold=None, **textkw):
"""
A function to annotate a heatmap.
Arguments:
im : The AxesImage to be labeled.
Optional arguments:
data : Data used to annotate. If None, the image's data is used.
valfmt : The format of the annotations inside the heatmap.
This should either use the string format method, e.g.
"$ {x:.2f}", or be a :class:`matplotlib.ticker.Formatter`.
textcolors : A list or array of two color specifications. The first is
used for values below a threshold, the second for those
above.
threshold : Value in data units according to which the colors from
textcolors are applied. If None (the default) uses the
middle of the colormap as separation.
Further arguments are passed on to the created text labels.
"""
if not isinstance(data, (list, np.ndarray)):
data = im.get_array()
# Normalize the threshold to the images color range.
if threshold is not None:
threshold = im.norm(threshold)
else:
threshold = im.norm(data.max())/2.
# Set default alignment to center, but allow it to be
# overwritten by textkw.
kw = dict(horizontalalignment="center",
verticalalignment="center")
kw.update(textkw)
# Get the formatter in case a string is supplied
if isinstance(valfmt, str):
valfmt = matplotlib.ticker.StrMethodFormatter(valfmt)
# Loop over the data and create a `Text` for each "pixel".
# Change the text's color depending on the data.
texts =
for i in range(data.shape[0]):
for j in range(data.shape[1]):
kw.update(color=textcolors[im.norm(data[i, j]) > threshold])
text = im.axes.text(j, i, valfmt(data[i, j], None), **kw)
texts.append(text)
return texts
So running the function with its argument, I used:
Rownames=list(df.index.values)
ColumnNames=list(df.columns.values)
fig, ax = plt.subplots()
im, cbar = heatmap(df, Rownames, ColumnNames, ax=ax,
cmap="YlGn", cbarlabel="frequency [freq/day]")
texts = annotate_heatmap(im, valfmt="{x:.1f} ")
fig.tight_layout()
plt.show()
However i get this :
python pandas matplotlib
python pandas matplotlib
asked Nov 7 at 11:17
Bode
14711
14711
The code give for me a errorTypeError: Image data cannot be converted to float
, which originates from the lineax.imshow(data, **kwargs)
. Are you sure that there was no mistake during pasting it here?
– gehbiszumeis
Nov 7 at 11:53
Yes,there was no mistake. Thanks
– Bode
Nov 7 at 12:06
You obviously have too much text in your figure, such that the heatmap is not seen any more. So the question is, do you really want to show each cell's value and all row-/column labels? If so, you will need to make the figure about a meter wide. If not, you might want to show only some of the values at the axes. If you then want to stick to the example you could set the rest to empty strings.
– ImportanceOfBeingErnest
Nov 8 at 2:25
Thanks for your response. I intend to show each cell's value and all row-/column labels,so increasing the size worked using ''fig, ax = plt.subplots(1, 1, figsize=(40,40))''
– Bode
Nov 8 at 3:23
It feels too large at one sight.Is there a way i can show the heatmap in a gliding manner
– Bode
Nov 8 at 3:35
add a comment |
The code give for me a errorTypeError: Image data cannot be converted to float
, which originates from the lineax.imshow(data, **kwargs)
. Are you sure that there was no mistake during pasting it here?
– gehbiszumeis
Nov 7 at 11:53
Yes,there was no mistake. Thanks
– Bode
Nov 7 at 12:06
You obviously have too much text in your figure, such that the heatmap is not seen any more. So the question is, do you really want to show each cell's value and all row-/column labels? If so, you will need to make the figure about a meter wide. If not, you might want to show only some of the values at the axes. If you then want to stick to the example you could set the rest to empty strings.
– ImportanceOfBeingErnest
Nov 8 at 2:25
Thanks for your response. I intend to show each cell's value and all row-/column labels,so increasing the size worked using ''fig, ax = plt.subplots(1, 1, figsize=(40,40))''
– Bode
Nov 8 at 3:23
It feels too large at one sight.Is there a way i can show the heatmap in a gliding manner
– Bode
Nov 8 at 3:35
The code give for me a error
TypeError: Image data cannot be converted to float
, which originates from the line ax.imshow(data, **kwargs)
. Are you sure that there was no mistake during pasting it here?– gehbiszumeis
Nov 7 at 11:53
The code give for me a error
TypeError: Image data cannot be converted to float
, which originates from the line ax.imshow(data, **kwargs)
. Are you sure that there was no mistake during pasting it here?– gehbiszumeis
Nov 7 at 11:53
Yes,there was no mistake. Thanks
– Bode
Nov 7 at 12:06
Yes,there was no mistake. Thanks
– Bode
Nov 7 at 12:06
You obviously have too much text in your figure, such that the heatmap is not seen any more. So the question is, do you really want to show each cell's value and all row-/column labels? If so, you will need to make the figure about a meter wide. If not, you might want to show only some of the values at the axes. If you then want to stick to the example you could set the rest to empty strings.
– ImportanceOfBeingErnest
Nov 8 at 2:25
You obviously have too much text in your figure, such that the heatmap is not seen any more. So the question is, do you really want to show each cell's value and all row-/column labels? If so, you will need to make the figure about a meter wide. If not, you might want to show only some of the values at the axes. If you then want to stick to the example you could set the rest to empty strings.
– ImportanceOfBeingErnest
Nov 8 at 2:25
Thanks for your response. I intend to show each cell's value and all row-/column labels,so increasing the size worked using ''fig, ax = plt.subplots(1, 1, figsize=(40,40))''
– Bode
Nov 8 at 3:23
Thanks for your response. I intend to show each cell's value and all row-/column labels,so increasing the size worked using ''fig, ax = plt.subplots(1, 1, figsize=(40,40))''
– Bode
Nov 8 at 3:23
It feels too large at one sight.Is there a way i can show the heatmap in a gliding manner
– Bode
Nov 8 at 3:35
It feels too large at one sight.Is there a way i can show the heatmap in a gliding manner
– Bode
Nov 8 at 3:35
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53188408%2fmessy-heatmap-when-plotting%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
The code give for me a error
TypeError: Image data cannot be converted to float
, which originates from the lineax.imshow(data, **kwargs)
. Are you sure that there was no mistake during pasting it here?– gehbiszumeis
Nov 7 at 11:53
Yes,there was no mistake. Thanks
– Bode
Nov 7 at 12:06
You obviously have too much text in your figure, such that the heatmap is not seen any more. So the question is, do you really want to show each cell's value and all row-/column labels? If so, you will need to make the figure about a meter wide. If not, you might want to show only some of the values at the axes. If you then want to stick to the example you could set the rest to empty strings.
– ImportanceOfBeingErnest
Nov 8 at 2:25
Thanks for your response. I intend to show each cell's value and all row-/column labels,so increasing the size worked using ''fig, ax = plt.subplots(1, 1, figsize=(40,40))''
– Bode
Nov 8 at 3:23
It feels too large at one sight.Is there a way i can show the heatmap in a gliding manner
– Bode
Nov 8 at 3:35