Skip to content

Commit 2fd7d2f

Browse files
committed
added Erics dot marker patcj
svn path=/trunk/matplotlib/; revision=1650
1 parent 0f473a2 commit 2fd7d2f

File tree

5 files changed

+26
-19
lines changed

5 files changed

+26
-19
lines changed

CHANGELOG

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
New entries should be added at the top
22

3+
2005-08-16 Added Eric's dot marker patch - JDH
4+
35
2005-08-08 Added blitting/animation for TkAgg - CM
46

57
2005-08-05 Fixed duplicate tickline bug - JDH

examples/widgets/cursor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
ax.set_ylim(-2,2)
1616

1717
# set useblit = True on gtkagg for enhanced performance
18-
cursor = Cursor(ax, useblit=False, color='red', linewidth=2 )
18+
cursor = Cursor(ax, useblit=True, color='red', linewidth=2 )
1919

2020
pylab.show()

lib/matplotlib/backends/backend_gtk.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ def draw(self):
230230
# synchronous draw (needed for animation)
231231
x, y, w, h = self.allocation
232232
#print x, y, w, h
233-
#if w<3 or h<3: return # empty fig
233+
if w<3 or h<3: return # empty fig
234234
self._pixmap_prepare (w, h)
235235
self._render_figure(self._pixmap, w, h)
236236
self._need_redraw = False

lib/matplotlib/lines.py

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ def __init__(self, xdata, ydata,
203203
self._markerfacecolor = markerfacecolor
204204
self._markeredgecolor = markeredgecolor
205205
self._markeredgewidth = markeredgewidth
206+
self._point_size_reduction = 0.5
206207

207208
self.verticalOffset = None
208209
self._useDataClipping = rcParams['lines.data_clipping']
@@ -669,17 +670,16 @@ def _draw_dotted(self, renderer, gc, xt, yt):
669670
renderer.draw_lines(gc, xt, yt)
670671

671672
def _draw_point(self, renderer, gc, xt, yt):
672-
if self._newstyle:
673-
rgbFace = self._get_rgb_face()
674-
path = agg.path_storage()
675-
path.move_to(-0.5, -0.5)
676-
path.line_to(-0.5, 0.5)
677-
path.line_to(0.5, 0.5)
678-
path.line_to(0.5, -0.5)
679-
renderer.draw_markers(gc, path, rgbFace, xt, yt, self._transform)
673+
674+
r = 0.5 * renderer.points_to_pixels(self._markersize)
675+
r *= self._point_size_reduction
676+
gc.set_linewidth(0)
677+
if r <= 0.5:
678+
self._draw_pixel(renderer, gc, xt, yt)
679+
elif r <= 2:
680+
self._draw_hexagon1(renderer, gc, xt, yt, point=True)
680681
else:
681-
for (x,y) in zip(xt, yt):
682-
renderer.draw_arc(gc, None, x, y, 1, 1, 0.0, 360.0)
682+
self._draw_circle(renderer, gc, xt, yt, point=True)
683683

684684
def _draw_pixel(self, renderer, gc, xt, yt):
685685
if self._newstyle:
@@ -695,9 +695,12 @@ def _draw_pixel(self, renderer, gc, xt, yt):
695695
renderer.draw_point(gc, x, y)
696696

697697

698-
def _draw_circle(self, renderer, gc, xt, yt):
698+
def _draw_circle(self, renderer, gc, xt, yt, point=False):
699+
700+
w = renderer.points_to_pixels(self._markersize)
701+
if point:
702+
w *= self._point_size_reduction
699703

700-
w = h = renderer.points_to_pixels(self._markersize)
701704

702705
rgbFace = self._get_rgb_face()
703706

@@ -718,7 +721,7 @@ def _draw_circle(self, renderer, gc, xt, yt):
718721
else:
719722
for (x,y) in zip(xt, yt):
720723
renderer.draw_arc(gc, rgbFace,
721-
x, y, w, h, 0.0, 360.0)
724+
x, y, w, w, 0.0, 360.0)
722725

723726

724727

@@ -895,8 +898,10 @@ def _draw_pentagon(self, renderer, gc, xt, yt):
895898
(x+offsetX1, y+offsetY1))
896899
renderer.draw_polygon(gc, rgbFace, verts)
897900

898-
def _draw_hexagon1(self, renderer, gc, xt, yt):
901+
def _draw_hexagon1(self, renderer, gc, xt, yt, point=False):
899902
offset = 0.6*renderer.points_to_pixels(self._markersize)
903+
if point:
904+
offset *= self._point_size_reduction
900905
offsetX1 = offset*0.87
901906
offsetY1 = offset*0.5
902907
rgbFace = self._get_rgb_face()

lib/matplotlib/widgets.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,9 @@ def _update(self, event):
201201
if self.slidermax is not None:
202202
if val>=self.slidermax.val: return
203203

204-
self._set_val(val)
204+
self.set_val(val)
205205

206-
def _set_val(self, val):
206+
def set_val(self, val):
207207
self.poly.xy[-1] = val, 0
208208
self.poly.xy[-2] = val, 1
209209
self.valtext.set_text(self.valfmt%val)
@@ -233,7 +233,7 @@ def disconnect(self, cid):
233233
def reset(self):
234234
"reset the slider to the initial value if needed"
235235
if (self.val != self.valinit):
236-
self._set_val(self.valinit)
236+
self.set_val(self.valinit)
237237

238238

239239

0 commit comments

Comments
 (0)