# Return to Question

 7 replaced http://mathematica.stackexchange.com/ with https://mathematica.stackexchange.com/ edited Apr 13 '17 at 12:55 I need to add labels to points in a ListPlot. The only problem is that the points can be closely located so if I do it in my usual way it becomes messy. I would like no label overlaps another not any point in the plot (something like in the figure below or better). There is some solution that comes close to solving my problem: http://mathematica.stackexchange.com/questions/33006/how-to-position-text-labels-automatically-to-not-overlap-other-graphics-elementsHow to position text labels automatically to not overlap other graphics elements? , but still in proposed solution if several points are close the labels start to overlap! It happens because they draw the label always close to the point. Here is the code to generate a cluster of close points I need to label: data = Table[{t, Re[3 Exp[I 5/2 t]] - t, Im[5 Exp[I 5/2 t]]}, {t, 0, 10}]; dataPlot = ListPlot[data[[All, {2, 3}]], PlotStyle -> PointSize -> Large]; labels = Text[Label #[], 1.1 #[[{2, 3}]]] & /@ data; Show[dataPlot, Graphics[{Red, labels}], PlotRange -> 50 {{-1, 1}, {-1, 1}}, AspectRatio -> 1]  which gives the following result: I need to add labels to points in a ListPlot. The only problem is that the points can be closely located so if I do it in my usual way it becomes messy. I would like no label overlaps another not any point in the plot (something like in the figure below or better). There is some solution that comes close to solving my problem: http://mathematica.stackexchange.com/questions/33006/how-to-position-text-labels-automatically-to-not-overlap-other-graphics-elements , but still in proposed solution if several points are close the labels start to overlap! It happens because they draw the label always close to the point. Here is the code to generate a cluster of close points I need to label: data = Table[{t, Re[3 Exp[I 5/2 t]] - t, Im[5 Exp[I 5/2 t]]}, {t, 0, 10}]; dataPlot = ListPlot[data[[All, {2, 3}]], PlotStyle -> PointSize -> Large]; labels = Text[Label #[], 1.1 #[[{2, 3}]]] & /@ data; Show[dataPlot, Graphics[{Red, labels}], PlotRange -> 50 {{-1, 1}, {-1, 1}}, AspectRatio -> 1]  which gives the following result: I need to add labels to points in a ListPlot. The only problem is that the points can be closely located so if I do it in my usual way it becomes messy. I would like no label overlaps another not any point in the plot (something like in the figure below or better). There is some solution that comes close to solving my problem: How to position text labels automatically to not overlap other graphics elements? , but still in proposed solution if several points are close the labels start to overlap! It happens because they draw the label always close to the point. Here is the code to generate a cluster of close points I need to label: data = Table[{t, Re[3 Exp[I 5/2 t]] - t, Im[5 Exp[I 5/2 t]]}, {t, 0, 10}]; dataPlot = ListPlot[data[[All, {2, 3}]], PlotStyle -> PointSize -> Large]; labels = Text[Label #[], 1.1 #[[{2, 3}]]] & /@ data; Show[dataPlot, Graphics[{Red, labels}], PlotRange -> 50 {{-1, 1}, {-1, 1}}, AspectRatio -> 1]  which gives the following result: Post Closed as "duplicate" by Simon Woods, user9660, Öskå, MarcoB, Edmund of occurred Jun 14 '16 at 9:25 6 Formatted code edited Jun 12 '16 at 18:35 MarcoB 39k55 gold badges5959 silver badges121121 bronze badges I need to add labels to points in a ListPlotListPlot. The only problem is that the points can be closely located so if I do it in my usual way it becomes a messy. I would like that no label overlaps another not any point in the plot (something like in the figure below or better). There is some close solution that comes close to solving my problem: http://mathematica.stackexchange.com/questions/33006/how-to-position-text-labels-automatically-to-not-overlap-other-graphics-elements Still , but still in proposed solution if several points are close the labels startsstart to overlapsoverlap! It happens because they draw the label always close to the point. Here is the code to generate a cluster of close points iI need to lablelabel:  data = Table[{t, Re[3 Exp[I 5/2 t]] - t, Im[5 Exp[I 5/2 t]]}, {t, 0,  10}]; dataPlot = ListPlot[data[[All, {2, 3}]], PlotStyle -> PointSize -> Large]; labels = Text[Label #[], 1.1 #[[{2, 3}]]] & /@ data; Show[dataPlot, Graphics[{Red, labels}], PlotRange -> 50 {{-1, 1}, {-1, 1}}, AspectRatio -> 1]  which gives the following result  : I need to add labels to points in a ListPlot. The only problem is that the points can be closely located so if I do it in my usual way it becomes a messy. I would like that no label overlaps another not any point in the plot (something like in the figure below or better). Still in proposed solution if several points are close the labels starts to overlaps! It happens because they draw the label always close to the point. Here is the code to generate cluster of close points i need to lable  data = Table[{t, Re[3 Exp[I 5/2 t]] - t, Im[5 Exp[I 5/2 t]]}, {t, 0,  10}]; dataPlot = ListPlot[data[[All, {2, 3}]], PlotStyle -> PointSize -> Large]; labels = Text[Label #[], 1.1 #[[{2, 3}]]] & /@ data; Show[dataPlot, Graphics[{Red, labels}], PlotRange -> 50 {{-1, 1}, {-1, 1}}, AspectRatio -> 1]  which gives the following result I need to add labels to points in a ListPlot. The only problem is that the points can be closely located so if I do it in my usual way it becomes messy. I would like no label overlaps another not any point in the plot (something like in the figure below or better). There is some solution that comes close to solving my problem: http://mathematica.stackexchange.com/questions/33006/how-to-position-text-labels-automatically-to-not-overlap-other-graphics-elements , but still in proposed solution if several points are close the labels start to overlap! It happens because they draw the label always close to the point. Here is the code to generate a cluster of close points I need to label: data = Table[{t, Re[3 Exp[I 5/2 t]] - t, Im[5 Exp[I 5/2 t]]}, {t, 0, 10}]; dataPlot = ListPlot[data[[All, {2, 3}]], PlotStyle -> PointSize -> Large]; labels = Text[Label #[], 1.1 #[[{2, 3}]]] & /@ data; Show[dataPlot, Graphics[{Red, labels}], PlotRange -> 50 {{-1, 1}, {-1, 1}}, AspectRatio -> 1]  which gives the following result: 5 added 4 characters in body edited Jun 12 '16 at 17:56 m_goldberg 91k88 gold badges7575 silver badges205205 bronze badges I need to add labels to points in a ListPlot. The only problem is that the points can be closely located so if I do it in my usual way it becomes a messy. I would like that no label overlaps another not any point in the plot (something like in the figure below or better). Still in proposed solution if several points are close the labels starts to overlaps! It happens because they draw the label always close to the point. Here is the code to generate cluster of close points i need to lable  data = Table[{t, Re[3 Exp[I 5/2 t]] - t, Im[5 Exp[I 5/2 t]]}, {t, 0, 10}]; dataPlot = ListPlot[data[[All, {2, 3}]], PlotStyle -> PointSize -> Large]; labels = Text[Label #[], 1.1 #[[{2, 3}]]] & /@ data; Show[dataPlot, Graphics[{Red, labels}], PlotRange -> 50 {{-1, 1}, {-1, 1}}, AspectRatio -> 1]  which gives the following result I need to add labels to points in a ListPlot. The only problem is that the points can be closely located so if I do it in my usual way it becomes a messy. I would like that no label overlaps another not any point in plot (something like in the figure below or better). Still in proposed solution if several points are close the labels starts to overlaps! It happens because they draw the label always close to the point. Here is the code to generate cluster of close points i need to lable  data = Table[{t, Re[3 Exp[I 5/2 t]] - t, Im[5 Exp[I 5/2 t]]}, {t, 0, 10}]; dataPlot = ListPlot[data[[All, {2, 3}]], PlotStyle -> PointSize -> Large]; labels = Text[Label #[], 1.1 #[[{2, 3}]]] & /@ data; Show[dataPlot, Graphics[{Red, labels}], PlotRange -> 50 {{-1, 1}, {-1, 1}}, AspectRatio -> 1]  which gives the following result I need to add labels to points in a ListPlot. The only problem is that the points can be closely located so if I do it in my usual way it becomes a messy. I would like that no label overlaps another not any point in the plot (something like in the figure below or better). Still in proposed solution if several points are close the labels starts to overlaps! It happens because they draw the label always close to the point. Here is the code to generate cluster of close points i need to lable  data = Table[{t, Re[3 Exp[I 5/2 t]] - t, Im[5 Exp[I 5/2 t]]}, {t, 0, 10}]; dataPlot = ListPlot[data[[All, {2, 3}]], PlotStyle -> PointSize -> Large]; labels = Text[Label #[], 1.1 #[[{2, 3}]]] & /@ data; Show[dataPlot, Graphics[{Red, labels}], PlotRange -> 50 {{-1, 1}, {-1, 1}}, AspectRatio -> 1]  which gives the following result 4 added 538 characters in body edited Jun 12 '16 at 17:41 Филипп Цветков 1,45111 gold badge77 silver badges2323 bronze badges 3 added 321 characters in body edited Jun 12 '16 at 17:15 Филипп Цветков 1,45111 gold badge77 silver badges2323 bronze badges 2 added 26 characters in body; edited title edited Jun 12 '16 at 17:02 m_goldberg 91k88 gold badges7575 silver badges205205 bronze badges 1 asked Jun 12 '16 at 16:44 Филипп Цветков 1,45111 gold badge77 silver badges2323 bronze badges