Tough problem. You could potentially hide the labels and use annotations, which allow for leading lines. You could also consider an alternate map style, such as a hex map, which makes each state the same size. In my opinion, it's a great option for addressing problems like this: How To: Hex Tile Maps in Tableau | Sir Viz-a-Lot
I haven't quite been able to figure out how to use annotations to replace these labels since they are generated by placing the pill on the text label box. I won't be able to use the hex idea because the user wants a true map.
Here's an example using the Sample Superstore data set. I'm displaying the Profit Ratio on each state. I created a calculated field as follows:
Profit Ratio No Small States
IF ATTR([State])="Maryland" or ATTR([State])="Delaware" or ATTR([State])="District of Columbia" THEN
You can then drag this to the label card. The result will be that every state except the three noted above will have labels.
You can then add annotations to the states without labels. First drag Profit Ratio to the detail card so it's available for annotations. Then right-click on each of the states without labels, and select Annotate then select Mark. Set it up so it just shows the Profit Ratio:
From there, you can change the formatting of the annotation, including changing the shading or changing the color of the line. In the end, you'll have something like this. See attached workbook.
Map Labels.twbx 2.4 MB