How can I plot a matrix using pcolor and colorscale as log?
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I have a timeseries matrix data of a lidar. I want to plot the time series keeping colorbar as logscale.
I have written the following code but it shows an error
load time_June.mat
load elevation_June_5km.mat
load backscatter_June_5km.mat
load raw_backscatter_June_5km.mat
figure(1);
pcolor(time_June, elevation_June_5km, backscatter_June_5km); shading interp
c = colorbar;
caxis([10^-7 10^-4]);
set(gca, 'ColorScale', 'log');
c.Label.String = 'Attenuated backscatter coefficient (m^{-1} sr^{-1})';
c.Ruler.Scale = 'log';
c.Ruler.MinorTick = 'on';
colormap jet;
set(gca, 'YDir', 'normal');
xlabel('Time (LT)');
ylabel('Altitude (km)');
axis tight;
set(gca, 'FontName', 'Times', 'FontSize', 14);
startDate = datetime(2023, 6, 16);
endDate = datetime(2023, 6, 25);
xlim([startDate, endDate]);
Error:
Warning: Error creating or updating Surface
Error in value of property  CData
DataSpace or ColorSpace transform method failed.
2 comentarios
  Sahas
 el 17 de Jul. de 2024
				
      Movida: Star Strider
      
      
 el 17 de Jul. de 2024
  
			I've taken a look at the code and ran a few simlations with dummy data. But to generate the given errors, it would requires the specific files to load the workspace variables. Could you please share those files so that I could further investigate for the cause of this behaviour?
Respuestas (1)
  Sandeep Mishra
      
 el 8 de Ag. de 2024
        Hello AMIT SINGH CHANDEL, 
I understand you are encountering an error while plotting the time series data with the 'ColorScale' property set to logscale. 
Kindly follow the below workarounds to resolve the issue:  
- I observed that the ‘backscatter_June_5km.mat’ file contains some NaN values, which are causing the issue. To resolve the error, you can replace the NaN values in your 'backscatter_June_5km.mat' file with any double integer value. Refer to the below example code snippet which replaces NaN values with a fixed value 2.
% Replacing NaN values to a fixed value.
backscatter_June_5km = fillmissing(backscatter_June_5km, 'constant', 2);
- It appears that MATLAB is handling the NaN values effectively after R2022a. Therefore, updating your MATLAB to R2022a or a later version might also resolve the issue.
I hope this will help you resolve the error and successfully plot the time series. 
0 comentarios
Ver también
Categorías
				Más información sobre Printing and Saving en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


