I need to have a plot with different colors for each data. Since I couldn't have all the data in one Plot with different colors, I drew each separately and used the Show command for the overall display, but one of the data does not appear in the final Plot and I don't know where the problem is?!
Needs["ErrorBarPlots`"]
val1 = ImportString["0.12 10 0.01 0
0.12 10 0.01 0"];
val2 = ImportString["0.12 20 0.01 0
0.12 20 0.01 0"];
val3 = ImportString["0.12 30 0.01 0
0.12 30 0.01 0"];
p1 = ErrorListPlot[{{#1, #2}, ErrorBarPlots`ErrorBar @@ {#3, #4}} & @@@
val1, IntervalMarkersStyle -> Thick, PlotStyle -> Red,
PlotLegends -> Placed[{"m"}, {0.1, 0.9}]]
p2 = ErrorListPlot[{{#1, #2}, ErrorBarPlots`ErrorBar @@ {#3, #4}} & @@@
val2, IntervalMarkersStyle -> Thick, PlotStyle -> Green,
PlotLegends -> Placed[{"n"}, {0.1, 0.9}]]
p3 = ErrorListPlot[{{#1, #2}, ErrorBarPlots`ErrorBar @@ {#3, #4}} & @@@
val3, IntervalMarkersStyle -> Thick, PlotStyle -> Black,
PlotLegends -> Placed[{"s"}, {0.1, 0.9}]]
list1 = {{0.12, 0}, {0.12, 10}, {0.12, 50}};
pn = ListLinePlot[list1, PlotStyle -> Dashed];
Show[{p1, p2, p3, pn}, Frame -> True,
FrameTicks -> {{None, None}, {Automatic, Automatic}}]