scatter plot with data coord sized glyphs

Hello,

Is it possible to specify scatter plot glyph sizes - specifically, circles and, e.g., radii, in data coords, rather than ?marker size? of ?points**2??

thanks, Randy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4054 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20190521/fe10e9a7/attachment.bin>

Syrtis Major's gist at Plot a collection of patches (circles, ellipses, rectangles), similar to `plt.scatter` but the size of patches are in data unit. · GitHub seems to do what you want. See this stackoverflow answer for an example of the circles function in action -
Python scatter plot. Size and style of the marker - Stack Overflow

hth,
Scott

···

On May 21, 2019, at 11:42 AM, Heiland, Randy <heiland at iu.edu> wrote:

Hello,
Is it possible to specify scatter plot glyph sizes - specifically, circles and, e.g., radii, in data coords, rather than ?marker size? of ?points**2??
thanks, Randy

Thanks Scott! That certainly gets me closer. One question/problem I still have is that it doesn?t seem to like RGB as colors, in spite of the docs. I?ve attached a simple example.

Randy

-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_circ2.py
Type: text/x-python-script
Size: 3148 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20190521/109b2264/attachment.bin&gt;
-------------- next part --------------

Syrtis Major's gist at Plot a collection of patches (circles, ellipses, rectangles), similar to `plt.scatter` but the size of patches are in data unit. · GitHub seems to do what you want. See this stackoverflow answer for an example of the circles function in action -
Python scatter plot. Size and style of the marker - Stack Overflow

hth,
Scott

Hello,
Is it possible to specify scatter plot glyph sizes - specifically, circles and, e.g., radii, in data coords, rather than ?marker size? of ?points**2??
thanks, Randy

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4054 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20190521/109b2264/attachment-0001.bin&gt;

···

On May 21, 2019, at 12:35 PM, Scott Lasley <selasley at icloud.com> wrote:

On May 21, 2019, at 11:42 AM, Heiland, Randy <heiland at iu.edu> wrote:

From the docstring in circles - "Note that `c` should not be a single numeric RGB or RGBA sequence because that is indistinguishable from an array of values to be colormapped. (If you insist, use `color` instead). So a slight modification of your code seems to do what you want

fig = plt.figure(figsize=(5,3))
ax = fig.gca()
ax.set_aspect("equal")

xvals = np.array([0,100])
yvals = np.array([0,0])
rvals = np.array([30,10])

rgb = np.array([[255, 0, 0], [0, 255, 0]])

circles(xvals, yvals, s=rvals, color=rgb / 255.) # use color instead of c and make 0. <= rgb <= 1.

plt.xlim(-30,110)
plt.ylim(-30,30)
plt.show()

Scott

···

On May 21, 2019, at 2:08 PM, Heiland, Randy <heiland at iu.edu> wrote:

Thanks Scott! That certainly gets me closer. One question/problem I still have is that it doesn?t seem to like RGB as colors, in spite of the docs. I?ve attached a simple example.

Randy

<test_circ2.py>

On May 21, 2019, at 12:35 PM, Scott Lasley <selasley at icloud.com> wrote:

Syrtis Major's gist at Plot a collection of patches (circles, ellipses, rectangles), similar to `plt.scatter` but the size of patches are in data unit. · GitHub seems to do what you want. See this stackoverflow answer for an example of the circles function in action -
Python scatter plot. Size and style of the marker - Stack Overflow

hth,
Scott

On May 21, 2019, at 11:42 AM, Heiland, Randy <heiland at iu.edu> wrote:

Hello,
Is it possible to specify scatter plot glyph sizes - specifically, circles and, e.g., radii, in data coords, rather than ?marker size? of ?points**2??
thanks, Randy

Scott, thanks for the help once again! Yes, the results are exactly what I want, and seem to be quite fast for lots of circles.

Randy

From the docstring in circles - "Note that `c` should not be a single numeric RGB or RGBA sequence because that is indistinguishable from an array of values to be colormapped. (If you insist, use `color` instead). So a slight modification of your code seems to do what you want

fig = plt.figure(figsize=(5,3))
ax = fig.gca()
ax.set_aspect("equal")

xvals = np.array([0,100])
yvals = np.array([0,0])
rvals = np.array([30,10])

rgb = np.array([[255, 0, 0], [0, 255, 0]])

circles(xvals, yvals, s=rvals, color=rgb / 255.) # use color instead of c and make 0. <= rgb <= 1.

plt.xlim(-30,110)
plt.ylim(-30,30)
plt.show()

Scott

Thanks Scott! That certainly gets me closer. One question/problem I still have is that it doesn?t seem to like RGB as colors, in spite of the docs. I?ve attached a simple example.

Randy

<test_circ2.py>

Syrtis Major's gist at Plot a collection of patches (circles, ellipses, rectangles), similar to `plt.scatter` but the size of patches are in data unit. · GitHub seems to do what you want. See this stackoverflow answer for an example of the circles function in action -
Python scatter plot. Size and style of the marker - Stack Overflow

hth,
Scott

Hello,
Is it possible to specify scatter plot glyph sizes - specifically, circles and, e.g., radii, in data coords, rather than ?marker size? of ?points**2??
thanks, Randy

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4054 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20190522/446e26d3/attachment-0001.bin&gt;

···

On May 21, 2019, at 2:39 PM, Scott Lasley <selasley at icloud.com> wrote:

On May 21, 2019, at 2:08 PM, Heiland, Randy <heiland at iu.edu> wrote:

On May 21, 2019, at 12:35 PM, Scott Lasley <selasley at icloud.com> wrote:

On May 21, 2019, at 11:42 AM, Heiland, Randy <heiland at iu.edu> wrote: