# How to generate a heat map using imported data with (x,y, z as color)

32 views (last 30 days)
Prosopo on 16 Nov 2019
Commented: Jyothis Gireesh on 22 Nov 2019
I have imported a very large data file into MATLAB. I am curious how I can generate a heat map of the values using z as color so that the higher z values are more intense in color?
I have labled the imported file 'A' which is a 5798000x3 table. I have had success plotting the table using:
x = A{:,1};
y = A{:,2};
z = A{:,3};
figure(1)
plot3(Ax,Ay,Az)
grid on
however I would like to generate a heat map of the data.

Jyothis Gireesh on 19 Nov 2019
You may use the following syntax to create the heat map.
h = heatmap(tbl,xvar,yvar,'ColorVariable',cvar)
where
• tbl is the table name A
• xvar indicates the variable name of the column to be displayed along the x-axis
• yvar indicates the variable name of the column to be displayed along the y-axis
• Specify cvar to control the heat map values according to the variable values. In this case, cvar corresponds to the 3rd column name.
Prosopo on 21 Nov 2019
I have incorporated the above mentioned syntax, however I have run across the error:
Warning: Error updating HeatmapChart.
Values in the source table variable 'Ay' are not grouped into discrete categories. Use the discretize function to group your values.
I am using the following:
Ax = A{:,1};
Ay = A{:,2};
Az = A{:,3};
A = table(Ax,Ay,Az);
h = heatmap(A,'Ax','Ay','ColorVariable','Az');
I am assuming values must be discretized in order plot them into a heatmap, however I am unsure how to discretize Ax,Ay, and Az properly to produce an accurate heatmap of my imported data.
Jyothis Gireesh on 22 Nov 2019
Can you attach the table data so that I can take a look at it?