How to use "hold on" for multiple datasets on the same graph?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Mohsen
el 21 de Abr. de 2014
Respondida: Mohsen
el 22 de Abr. de 2014
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 comentarios
Respuesta aceptada
Más respuestas (1)
Image Analyst
el 21 de Abr. de 2014
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 comentarios
Image Analyst
el 22 de Abr. de 2014
You can make up some data then, just have it be in the same format.
Ver también
Categorías
Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!