How to use "hold on" for multiple datasets on the same graph?
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I am trying to plot 5 different datasets for 3 patients (15 lines in total) on the same graph. The Y value for each line is between 0 and 100 but the X axis is different for each line.
The problem is that the "hold on" function is not working. I think the reason is that I am using different x axis values for each data set.
The output of my code is just the graph of the 5 rois for the last patient (patient_Plan3).
Any ideas how to fix this?
Here is my code:
Note: DVHxAccum and DVHyAccum are 5x1 cells each containing the data that I want to plot.
patient_Plan1='path1';
patient_Plan2='path2';
patient_Plan3='path3';
patient_PlanNames={patient_Plan1, patient_Plan2, patient_Plan3};
totPatient_PlanNum=length(patient_PlanNames);
figure;
hold on;
roiName = { 'Contralateral_Lung', 'rPTV', 'nonGTVLUNG', 'CTV', 'Ipsilateral_Lung'};
axis([0 7500 0 110]);
markers = {'-','.','--'};
Color={'c','m','b','r','g', 'k'};
for j=totPatient_PlanNum
planDir = strcat('O:\WorkstationDB\',patient_PlanNames{j});
[DVHxAccum DVHyAccum] = getDVHAccum(planDir, roiName);
for i = 1:length(roiName)
plot(DVHxAccum{i}, DVHyAccum{i}, [markers{j} Color{i}],'LineWidth',1);
end
end
0 个评论
采纳的回答
更多回答(1 个)
Image Analyst
2014-4-21
The "hold" applies to a specific axes control, and you don't have one yet. You're calling hold on before there's even any axes to hold. Try calling it after you call plot for the first time.
if i == 1
hold on;
end
4 个评论
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!