A starting point could be:
\[Theta] = \[Pi]/6;
pts1 = {{{0, 0, 0}, {1, 0, 0}}, {{0, 0, 0}, {0, 1, 0}}};
pts2 = RotationTransform[\[Theta], {0, 0, 1}][#] & /@ pts1;
Graphics3D[Join[{Black, Thickness[0.007], Arrow[{{0, 0, 0}, {0, 0, 1}}]},
{Red,Arrow[#] & /@ pts1}, {Blue, Arrow[#] & /@ pts2}], Axes -> True,
Boxed -> False, AxesOrigin -> {0, 0, 0}, AxesLabel -> {"x", "y", "z"}]
Add
Interactive rotation:
Manipulate[
pts1 = {{{0, 0, 0}, {1, 0, 0}}, {{0, 0, 0}, {0, 1, 0}}};
pts2 = RotationTransform[\[Theta], {0, 0, 1}][#] & /@ pts1;
Graphics3D[Join[{Black, Thickness[0.007], Arrow[{{0, 0, 0}, {0, 0, 1}}]},
{Red,Arrow[#] & /@ pts1}, {Blue, Arrow[#] & /@ pts2},
{Text[Style[#[[1]], 14, Bold, Black], #[[2]]] & /@ {{"x", {1.3, 0, 0}},
{"y", {0, 1.3, 0}}, {"z", {0, 0, 1.3}}}},
{Text[Style["x'", 14, Bold, Blue],
RotationTransform[\[Theta], {0, 0, 1}][#] & /@ {{1.1, 0.2, 0}}]},
{Text[Style["y'", 14, Bold, Blue],RotationTransform[\[Theta], {0, 0, 1}][#] & /@
{{-0.2, 1.1, 0}}]},
{Black, InfiniteLine[#] & /@ pts2}],
Axes -> True, Boxed -> False, AxesOrigin -> {0, 0, 0},
PlotRange -> ConstantArray[{-1.1, 1.1}, 3],
PlotLabel -> "Rotation angle \[Theta] = " <> ToString[TraditionalForm@\[Theta]] <> " rd"],
{\[Theta], 0, 2 \[Pi], \[Pi]/50}
]