Skip to content

Commit 752ad0e

Browse files
committed
Another attempt at getting pixel markers to work correctly.
1 parent fabf327 commit 752ad0e

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

lib/matplotlib/lines.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -546,8 +546,11 @@ def draw(self, renderer):
546546
marker_path = marker.get_path()
547547
marker_trans = marker.get_transform()
548548
w = renderer.points_to_pixels(self._markersize)
549-
if marker.get_marker() != ',': # Don't scale for pixels
549+
if marker.get_marker() != ',':
550+
# Don't scale for pixels, and don't stroke them
550551
marker_trans = marker_trans.scale(w)
552+
else:
553+
gc.set_linewidth(0)
551554
renderer.draw_markers(
552555
gc, marker_path, marker_trans, subsampled, affine.frozen(),
553556
rgbFace)

lib/matplotlib/markers.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -274,10 +274,8 @@ def _set_circle(self, reduction = 1.0):
274274

275275
def _set_pixel(self):
276276
self._path = Path.unit_rectangle()
277-
self._transform = Affine2D().translate(-0.5, -0.5) \
278-
.scale(0.5, 0.5).translate(0.5, 0.5)
277+
self._transform = Affine2D().translate(-0.49999, -0.50001)
279278
self._snap_threshold = False
280-
self._joinstyle = 'miter'
281279

282280
def _set_point(self):
283281
self._set_circle(reduction = self._point_size_reduction)

src/_backend_agg.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -650,7 +650,7 @@ RendererAgg::draw_markers(const Py::Tuple& args)
650650
// Deal with the difference in y-axis direction
651651
marker_trans *= agg::trans_affine_scaling(1.0, -1.0);
652652
trans *= agg::trans_affine_scaling(1.0, -1.0);
653-
trans *= agg::trans_affine_translation(0.5, (double)height+0.5);
653+
trans *= agg::trans_affine_translation(0.0, (double)height);
654654

655655
PathIterator marker_path(marker_path_obj);
656656
transformed_path_t marker_path_transformed(marker_path, marker_trans);

0 commit comments

Comments
 (0)