Plot problems: vertical lines and letters
ListPlot
coords = {{1, 2}, {3, 2}, {3, 1}};
labeledcoords = MapThread[Labeled,
{coords, {"A", "B", "C"}, {Above, Above, Below}}];
ListLinePlot[labeledcoords,
PlotRange -> {{0, 4}, {0, 3}},
AxesLabel -> {T[k], P[Subscript[p, a]]},
AxesStyle -> Arrowheads[.03],
Ticks -> {Thread[{{1, 3}, Subscript[T, #] & /@ {1, 2}}],
Thread[{{1, 2}, Subscript[P, #] & /@ {1, 2}}]}]
To get a hand-drawn look use Simon Woods' xkcdConvert:
xkcdConvert @ %
Graphics
Graphics[{Thick, Line[Partition[coords, 2, 1]],
MapThread[Text, {Style[#, 14] & /@ {"A", "B", "C"},
coords , {{0, -1}, {0, -1}, {0, 1}}}]},
PlotRange -> {{0, 4}, {0, 3}}, Axes -> True, AxesOrigin -> {0, 0},
AxesLabel -> {T[k], P[Subscript[p, a]]},
AxesStyle -> Arrowheads[.03],
Ticks -> {Thread[{{1, 3}, Subscript[T, #] & /@ {1, 2}}],
Thread[{{1, 2}, Subscript[P, #] & /@ {1, 2}}]}]
ParametricPlot
ClearAll[f]
f[x_?NumericQ] := Piecewise[{ {2, 1 <= x < 3}, {1, x == 3}}, Undefined]
ParametricPlot[{x, f[x]}, {x, 1, 3},
PlotRange -> {{0, 4}, {0, 3}}, AxesOrigin -> {0, 0},
AxesLabel -> {T[k], P[Subscript[p, a]]},
AxesStyle -> Arrowheads[.03], PlotStyle -> Black,
Ticks -> {Thread[{{1, 3}, Subscript[T, #] & /@ {1, 2}}],
Thread[{{1, 2}, Subscript[P, #] & /@ {1, 2}}]},
Epilog -> MapThread[Text,
{Style[#, 14] & /@ {"A", "B", "C"}, coords, {{0, -1}, {0, -1}, {0, 1}}}]]
Try this:
Show[{
Graphics[{Line[{{1, 2}, {3, 2}}], Line[{{3, 2}, {3, 1}}]},
PlotRange -> {{-0.10, 4}, {-0.1, 2.5}}, Axes -> True,
AxesStyle -> Arrowheads[0.03],
Ticks -> {{{1,
Style["\!\(\*SubscriptBox[\(T\), \(0\)]\)", Italic, 16,
Black]}, {3,
Style["\!\(\*SubscriptBox[\(T\), \(1\)]\)", Italic, 16,
Black]}}, {{1,
Style["\!\(\*SubscriptBox[\(P\), \(1\)]\)", Italic, 16,
Black]}, {2,
Style["\!\(\*SubscriptBox[\(P\), \(2\)]\)", Italic, 16,
Black]}}},
AxesLabel -> {Style["T(K)", 16, Italic, Black],
Style["P(Pa)", 16, Italic, Black]}],
Graphics[{Text[Style["A", Black, 16], {1, 2.15}],
Text[Style["B", Black, 16], {3, 2.15}],
Text[Style["C", Black, 16], {3.15, 1}]}]
}]
with the effect
To my taste this is more straightforward than to draw it by equations.
However, you definitely can draw these lined using standard Plot-family functions. Consider, for example, this:
Show[{
ParametricPlot[{1, y}, {y, 0.5, 2},
PlotRange -> {{0, 2.5}, {0, 2.5}}],
ParametricPlot[{x, 1}, {x, 0.5, 2}]
}]
yielding
Have fun!