本文整理汇总了Python中matplotlib.markers.MarkerStyle.get_marker方法的典型用法代码示例。如果您正苦于以下问题:Python MarkerStyle.get_marker方法的具体用法?Python MarkerStyle.get_marker怎么用?Python MarkerStyle.get_marker使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类matplotlib.markers.MarkerStyle
的用法示例。
在下文中一共展示了MarkerStyle.get_marker方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Line2D
# 需要导入模块: from matplotlib.markers import MarkerStyle [as 别名]
# 或者: from matplotlib.markers.MarkerStyle import get_marker [as 别名]
#.........这里部分代码省略.........
renderer.open_group('line2d', self.get_gid())
gc = renderer.new_gc()
self._set_gc_clip(gc)
gc.set_foreground(self._color)
gc.set_antialiased(self._antialiased)
gc.set_linewidth(self._linewidth)
gc.set_alpha(self._alpha)
if self.is_dashed():
cap = self._dashcapstyle
join = self._dashjoinstyle
else:
cap = self._solidcapstyle
join = self._solidjoinstyle
gc.set_joinstyle(join)
gc.set_capstyle(cap)
gc.set_snap(self.get_snap())
funcname = self._lineStyles.get(self._linestyle, '_draw_nothing')
if funcname != '_draw_nothing':
tpath, affine = self._transformed_path.get_transformed_path_and_affine()
if len(tpath.vertices):
self._lineFunc = getattr(self, funcname)
funcname = self.drawStyles.get(self._drawstyle, '_draw_lines')
drawFunc = getattr(self, funcname)
drawFunc(renderer, gc, tpath, affine.frozen())
if self._marker:
gc = renderer.new_gc()
self._set_gc_clip(gc)
rgbFace = self._get_rgb_face()
rgbFaceAlt = self._get_rgb_face(alt=True)
edgecolor = self.get_markeredgecolor()
if is_string_like(edgecolor) and edgecolor.lower() == 'none':
gc.set_linewidth(0)
gc.set_foreground(rgbFace)
else:
gc.set_foreground(edgecolor)
gc.set_linewidth(self._markeredgewidth)
gc.set_alpha(self._alpha)
marker = self._marker
tpath, affine = self._transformed_path.get_transformed_points_and_affine()
if len(tpath.vertices):
# subsample the markers if markevery is not None
markevery = self.get_markevery()
if markevery is not None:
if iterable(markevery):
startind, stride = markevery
else:
startind, stride = 0, markevery
if tpath.codes is not None:
codes = tpath.codes[startind::stride]
else:
codes = None
vertices = tpath.vertices[startind::stride]
subsampled = Path(vertices, codes)
else:
subsampled = tpath
snap = marker.get_snap_threshold()
if type(snap) == float:
snap = renderer.points_to_pixels(self._markersize) >= snap
gc.set_snap(snap)
gc.set_joinstyle(marker.get_joinstyle())
gc.set_capstyle(marker.get_capstyle())
示例2: Line2D
# 需要导入模块: from matplotlib.markers import MarkerStyle [as 别名]
# 或者: from matplotlib.markers.MarkerStyle import get_marker [as 别名]
#.........这里部分代码省略.........
self._lineFunc = getattr(self, funcname)
funcname = self.drawStyles.get(self._drawstyle, '_draw_lines')
drawFunc = getattr(self, funcname)
gc = renderer.new_gc()
self._set_gc_clip(gc)
ln_color_rgba = self._get_rgba_ln_color()
gc.set_foreground(ln_color_rgba, isRGBA=True)
gc.set_alpha(ln_color_rgba[3])
gc.set_antialiased(self._antialiased)
gc.set_linewidth(self._linewidth)
if self.is_dashed():
cap = self._dashcapstyle
join = self._dashjoinstyle
else:
cap = self._solidcapstyle
join = self._solidjoinstyle
gc.set_joinstyle(join)
gc.set_capstyle(cap)
gc.set_snap(self.get_snap())
if self.get_sketch_params() is not None:
gc.set_sketch_params(*self.get_sketch_params())
drawFunc(renderer, gc, tpath, affine.frozen())
gc.restore()
if self._marker and self._markersize > 0:
gc = renderer.new_gc()
self._set_gc_clip(gc)
rgbaFace = self._get_rgba_face()
rgbaFaceAlt = self._get_rgba_face(alt=True)
edgecolor = self.get_markeredgecolor()
if is_string_like(edgecolor) and edgecolor.lower() == 'none':
gc.set_linewidth(0)
gc.set_foreground(rgbaFace, isRGBA=True)
else:
gc.set_foreground(edgecolor)
gc.set_linewidth(self._markeredgewidth)
mec = self._markeredgecolor
if (is_string_like(mec) and mec == 'auto' and
rgbaFace is not None):
gc.set_alpha(rgbaFace[3])
else:
gc.set_alpha(self.get_alpha())
marker = self._marker
tpath, affine = transf_path.get_transformed_points_and_affine()
if len(tpath.vertices):
# subsample the markers if markevery is not None
markevery = self.get_markevery()
if markevery is not None:
subsampled = _mark_every_path(markevery, tpath,
affine, self.axes.transAxes)
else:
subsampled = tpath
snap = marker.get_snap_threshold()
if type(snap) == float:
snap = renderer.points_to_pixels(self._markersize) >= snap
gc.set_snap(snap)
gc.set_joinstyle(marker.get_joinstyle())
gc.set_capstyle(marker.get_capstyle())
marker_path = marker.get_path()
marker_trans = marker.get_transform()
示例3: _hack_linedraw
# 需要导入模块: from matplotlib.markers import MarkerStyle [as 别名]
# 或者: from matplotlib.markers.MarkerStyle import get_marker [as 别名]
def _hack_linedraw(self, line, rotate_marker=None):
'''
Modifies the draw method of a :class:`matplotlib.lines.Line2D` object
to draw different stard and end marker.
Keyword arguments:
*line*:
Line to be modified
Accepts: Line2D
*rotate_marker*:
If set, the end marker will be rotated in direction of their
corresponding path.
Accepts: boolean
'''
assert isinstance(line, Line2D)
def new_draw(self_line, renderer):
def new_draw_markers(self_renderer, gc, marker_path, marker_trans, path, trans, rgbFace=None):
# get the drawn path for determin the rotation angle
line_vertices = self_line._get_transformed_path().get_fully_transformed_path().vertices
vertices = path.vertices
if len(vertices) == 1:
line_set = [[default_marker, vertices]]
else:
if rotate_marker:
dx, dy = np.array(line_vertices[-1]) - np.array(line_vertices[-2])
end_rot = MarkerStyle(end.get_marker())
end_rot._transform += Affine2D().rotate(np.arctan2(dy, dx) - np.pi / 2)
else:
end_rot = end
if len(vertices) == 2:
line_set = [[start, vertices[0:1]], [end_rot, vertices[1:2]]]
else:
line_set = [[start, vertices[0:1]], [default_marker, vertices[1:-1]], [end_rot, vertices[-1:]]]
for marker, points in line_set:
scale = 0.5 if isinstance(marker.get_marker(), np.ndarray) else 1
transform = marker.get_transform() + Affine2D().scale(scale * self_line._markersize)
old_draw_markers(gc, marker.get_path(), transform, Path(points), trans, rgbFace)
old_draw_markers = renderer.draw_markers
renderer.draw_markers = MethodType(new_draw_markers, renderer)
old_draw(renderer)
renderer.draw_markers = old_draw_markers
default_marker = line._marker
# check if marker is set and visible
if default_marker:
start = MarkerStyle(self._get_key("plot.startmarker"))
if start.get_marker() is None:
start = default_marker
end = MarkerStyle(self._get_key("plot.endmarker"))
if end.get_marker() is None:
end = default_marker
if rotate_marker is None:
rotate_marker = self._get_key("plot.rotatemarker")
old_draw = line.draw
line.draw = MethodType(new_draw, line)
line._markerhacked = True