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

Eric Firing efiring at hawaii.edu
Tue Dec 1 14:04:29 EST 2015


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
> https://mail.python.org/mailman/listinfo/matplotlib-users
>



More information about the Matplotlib-users mailing list