%% Preliminaries: close all; clear all; load('MakeStackHistData.mat') %% Define the bins to use for our data (you will need to adjust this depending on your data): %In this case we are using the same bins for each data set. You probably %want to do this when you are plotting stacked histograms. bins=logspace(0,4,60); x=bins; %% Bin your data using Matlabs "hist" function. %The variable "n" will be the number in each bin described by the variable %"x". HistData will become a matrix of the normalized bins (normalized to %the total number of elements). Means will become a vector of the mean %value for each distribution, which we will use when coloring our %histograms (so that colors roughly correspond to the mean of the %distribution). HistData=[]; Means=[]; for i=1:5 [n,x]=hist(Data(i,:),x); HistData=[HistData; n./sum(n)]; Means=[Means mean(Data(i,:))]; end %% Define a colormap for the histograms that will make the histograms brighter as the mean of the distribution increases % In this case we chose to make the histograms brighter green at higher % mean values since the flow cytometry data is of GFP. %Define a color map MMColorMap=zeros(5,3); %Define colors so that they scale with the difference between the mean %fluorescence at a given timepoint and the mean at time 0 MM=sort(Means); MMdiff=Means-Means(1); MMdiff=MMdiff./(max(MMdiff)); MMColorMap(1:end,2)=MMdiff; %Set up the figure and axis properties: h=figure; hold; colors=colormap; set(gca,'XScale','log') set(gca,'XLim',[10,2000]) set(gca,'PlotBoxAspectRatioMode','manual') set(gca,'PlotBoxAspectRatio',[1 3 1]) set(gca,'FontSize',12) set(gca,'XTick',[100 1000 10000 100000]) set(gca,'YTick',[0 1]) ylabel('Fraction of Cell Population','FontSize',14) xlabel('Fluorescence [a.u.]','FontSize',14) %% Plot the histograms along the y-axis spacing=.15; %Spacing along the y-axis chosen empirically for i=1:5 fill([x(1);x'; x'],[i*spacing; (HistData(i,:)+i*spacing)'; ones(1,length(x))'*i*spacing],MMColorMap(i,:),'LineStyle','none') semilogx(x,HistData(i,:)+i*spacing,'LineWidth',3,'Color','k'); end %% Save the histogram figure saveas(h,'ExampleStackedHistograms','fig') saveas(h,'ExampleStackedHistograms','png') saveas(h,'ExampleStackedHistograms','ai') saveas(h,'ExampleStackedHistograms','pdf')