matplotlib как сделать специальный маркер - PullRequest
1 голос
/ 02 декабря 2011

Я пытаюсь сделать специальный маркер, который недоступен с помощью команды разброса.Я хотел бы сделать маркер формы "булавка для доски".В принципе, стрелка (под командой fancyarrow) хороша, но она не позволяет мне использовать опции vmin и vmax, что очень важно для меня.Позвольте мне объяснить.

У меня есть набор x, y координат и скоростей.Скорость представлена ​​цветовой шкалой.Таким образом, при чтении в x, y, скорости и использовании разброса vmin и vmax команды маркеры будут автоматически нанесены с правильным цветом.Например:

f.show_colorscale(cmap="gist_hsv",vmin=0,vmax=8e3)
f.scatter(x,y,c=vel,marker='o',s=50,vmin=0,vmax=8e3)

Мне удалось построить только «головку» булавки доски (просто закрашенный кружок).Есть идеи, как получить «хвост» платы на булавке под разным углом?

Ответы [ 2 ]

2 голосов
/ 24 января 2012
plot(x,y, "o", markersize=1)

Это просто

0 голосов
/ 03 декабря 2011

Может быть, вы можете проверить matplotlib.patches

In [23]: from matplotlib import patches
In [24]: patches.Arrow ?
Type:           type
Base Class:     <type 'type'>
String Form:    <class 'matplotlib.patches.Arrow'>
Namespace:      Interactive
File:           c:\python26\lib\site-packages\matplotlib\patches.py
Docstring:
    An arrow patch.

Constructor information:
Definition:     patches.Arrow(self, x, y, dx, dy, width=1.0, **kwargs)
Docstring:
    Draws an arrow, starting at (*x*, *y*), direction and length
given by (*dx*, *dy*) the width of the arrow is scaled by *width*.

Valid kwargs are:
  agg_filter: unknown
  alpha: float or None
.........................................

Вот вам пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...