MATLAB: Adding axes to histogram on scatterhist, and changing graph area

MATLABscatterhist

Hello,
I have been trying for quite a while to add an axis with a title and a scale on my scatterhist plot. I have not found any means of doing this yet. Lastly, I have managed to get rid of the x axis histogram, but am unable to get rid of the space that it fomerly occupied. To give an idea of what I am trying to achieve:
The x-axis graph has been deleted with this code:
figure(3)
load data.mat
h = scatterhist(t, distance_totals,'Marker','.','MarkerSize',10,'Color','k','NBins',[15,15])
xlim([0,60]);
ylim([0,150]);
set(gca,'fontsize',12);
xlabel('Time(s)');
ylabel('Distance (m)');
title('Time vs Distance for 100 Iterations')
%annotation('textbox', [0.75, 0.75, 0.1, 0.1],'string', mean(t))
delete(h(2))
Would appreciate any help.
Thanks

Best Answer

  • How about something like this?
    figure(3)
    h = scatterhist(rand(100,1), rand(100,1),'Marker','.','MarkerSize',10,'Color','k','NBins',[15,15]);
    set(gca,'fontsize',12);
    xlabel('Time(s)');
    ylabel('Distance (m)');
    title('Time vs Distance for 100 Iterations');
    h(1).Position([2 4]) = [0.13 h(1).Position(4)+h(1).Position(2)-0.13];
    h(3).Position([2 4]) = h(1).Position([2 4]);
    ax = axes('Position', h(3).Position,...
    'Color', 'none',...
    'YColor', 'none',...
    'XAxisLocation', 'top',...
    'XLim', h(3).YLim);
    xlabel(ax, 'xlabel');
    delete(h(2))