[Matplotlib-users] plotting positions with non-default markers

Eric Firing efiring at hawaii.edu
Wed Dec 2 12:49:30 EST 2015


On 2015/12/02 4:09 AM, Michael Droettboom wrote:
> Just for completeness, I should mention you can also pass any math
> string as a marker as well:
>
> |plt.plot([1,2,3], marker=r'$\bot$') |

To complete the completeness, how will it be located? What part of the 
rendered string lands at the specified data location?

Eric


>
> Mike
>
>>
> On Tue, Dec 1, 2015 at 3:44 PM, Joao Fonseca <joao.q.fonseca at gmail.com
> <mailto:joao.q.fonseca at gmail.com>> wrote:
>
>     This is just what I was after, thanks! And scattertext() looks
>     pretty handy as well.
>
>     João
>
>      > On 1 Dec 2015, at 19:04, Eric Firing <efiring at hawaii.edu
>     <mailto:efiring at hawaii.edu>> wrote:
>      >
>      > On 2015/12/01 7:54 AM, Joao Fonseca wrote:
>      >> To visualize a simulation, I would like to plot positions of two
>      >> populations using the $\top$ and $\bot$ (similar to $\perp$ and
>      >> rotated $\perp$) symbols as markers, but make the coordinates
>      >> coincide with the line intersections in the symbols. In this way, if
>      >> two points from different populations have the same coordinates they
>      >> should create a cross with a long vertical line.
>      >>
>      >> I have tried using  plt.text and $\perp$, with a 90 degree rotation
>      >> to get $\bot$:
>      >>
>      >> text(x,y,r’$\bot$',
>      >> va=’top',ha='center',color='w',rotation=180,fontsize=14)
>      >>
>      >> but this doesn’t really work or scale, and I would rather use
>     plot or
>      >> scatter instead of text.
>      >>
>      >> Is there a good way to do this in pyplot? Should I use something
>      >> else?
>      >
>      >
>      > import matplotlib.pyplot as plt
>      >
>      > # Make your own marker by giving vertices like this:
>      > mbot = ((-7, 0), (0, 0), (0, 20), (0, 0), (7, 0))
>      >
>      > fig, ax = plt.subplots()
>      > ax.plot([1, 2, 3], marker=mbot, ms=20, mew=1,
>      >        mfc='none', linestyle='none')
>      > ax.margins(0.1)
>      > plt.show()
>      >
>      >
>      > Eric
>      >
>      >
>      >
>      >>
>      >> Thank you
>      >>
>      >> João
>      >> _______________________________________________
>      >> Matplotlib-users mailing list
>      >> Matplotlib-users at python.org <mailto:Matplotlib-users at python.org>
>      >> https://mail.python.org/mailman/listinfo/matplotlib-users
>      >>
>      >
>      > _______________________________________________
>      > Matplotlib-users mailing list
>      > Matplotlib-users at python.org <mailto:Matplotlib-users at python.org>
>      > https://mail.python.org/mailman/listinfo/matplotlib-users
>
>     _______________________________________________
>     Matplotlib-users mailing list
>     Matplotlib-users at python.org <mailto:Matplotlib-users at python.org>
>     https://mail.python.org/mailman/listinfo/matplotlib-users
>
>
>
>
> --
> Michael Droettboom
> Continuum Analytics
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users at python.org
> https://mail.python.org/mailman/listinfo/matplotlib-users
>



More information about the Matplotlib-users mailing list