# Can I add different texts to these two pictures using the If function?

I use the code from an answer to get two pictures:

F[z_] := z^2;
t1 = 0; t2 = Pi/3; dt = (t2 - t1)/10;
r1 = 1; r2 = 3; dr = (r2 - r1)/10;

GraphicsRow[
With[{z = r Exp[I t], col = Black},
Show[
ParametricPlot[
ReIm@#[z], {r, r1, r2}, {t, t1, t2},
Mesh -> 9,
MeshShading -> ArrayPad[
{{None, col}, {col, col}, {None, col}}, {{5, 2}, {4, 4}}, None
],
Frame -> False,
AxesOrigin -> {0, 0},
PlotRange -> {{-6, 10}, {-1.1, 10}},
ImageSize -> Medium,
AxesStyle -> Opacity[0.1]],
Graphics[{
{Blue, Circle[], Text[0, {-0.2, -0.3}]},
{Blue, Arrow[{{0, 0}, {10, 0}}]},
{Blue, Arrow[{{0, 0}, 10 ReIm@#[ Exp[I Pi/3]]}]}
}]
]
] & /@ {Identity, F}] Can I add different texts to these two pictures using the If function?

[Added: To clarify my question, I'd like to add the angle symbol \[Theta] to the first figure and 2\[Theta] to the second one. Once I can do this, I'm expecting that I will be able to add other different stuffs to these two figures.]

I'm expecting something like If[#==Identity, Text[\[Theta], {-0.2, -0.3},[]], but I don't know the correct syntax: #==Indentity does not work.

• Try slipping this into your Graphics command: {Red, Text[ If[TrueQ[# == Identity], "Identity", "Not identity"], {1, 2}]} – LouisB Sep 23 '17 at 23:11
• Why exactly is the If[] needed? GraphicsRow[With[(* blah *), Show[(* blub *), PlotLabel -> #]] & /@ {Identity, F}]. – J. M.'s torpor Sep 23 '17 at 23:12
• @J.M.: I am trying to do different things to those two figures, not only labels. – Jack Sep 23 '17 at 23:30
• "add different texts to these two pictures" sounds confusing, then. What output were you expecting, then? – J. M.'s torpor Sep 23 '17 at 23:43
• @J.M.: yes indeed. I shall edit my question now. Thanks for the comment. – Jack Sep 23 '17 at 23:44

## 1 Answer

Thanks to LouisB's comment, I can do it with replacing the Graphics[] in the code as

Graphics[{
{Blue, Circle[], {FontSize -> 12,
Text[If[TrueQ[# == Identity], "\[Theta]",
"2\[Theta]"], {.44, .25}]}},
{Blue, {FontSize -> 16,
Text[If[TrueQ[# == Identity], "\[Infinity]", ""], {10.5, 0}]}},
{Blue, {FontSize -> 16,
Text[If[TrueQ[# == Identity], "\[Infinity]", ""],
10.5 ReIm@#[ Exp[I Pi/3]]]}},
{Blue, Arrow[{{0, 0}, {10, 0}}]},
{Blue, Arrow[{{0, 0}, 10 ReIm@#[ Exp[I Pi/3]]}]}
}] • Instead of TrueQ[# == Identity], use # === Identity (or even MatchQ[#, Identity]); == is intended for mathematical equality, and so does not need to evaluate at once, while === is a true comparison operator. – J. M.'s torpor Sep 23 '17 at 23:46
• Thanks for this! I'm assuming # === Identity would be faster than TrueQ[# == Identity]? – Jack Sep 23 '17 at 23:58
• ...and less complicated, and using the function intended for that purpose. – J. M.'s torpor Sep 24 '17 at 0:30