當前位置: 首頁>>代碼示例>>Python>>正文


Python patches.Wedge方法代碼示例

本文整理匯總了Python中matplotlib.patches.Wedge方法的典型用法代碼示例。如果您正苦於以下問題:Python patches.Wedge方法的具體用法?Python patches.Wedge怎麽用?Python patches.Wedge使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在matplotlib.patches的用法示例。


在下文中一共展示了patches.Wedge方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_patch_str

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def test_patch_str():
    """
    Check that patches have nice and working `str` representation.

    Note that the logic is that `__str__` is defined such that:
    str(eval(str(p))) == str(p)
    """
    p = mpatches.Circle(xy=(1, 2), radius=3)
    assert str(p) == 'Circle(xy=(1, 2), radius=3)'

    p = mpatches.Ellipse(xy=(1, 2), width=3, height=4, angle=5)
    assert str(p) == 'Ellipse(xy=(1, 2), width=3, height=4, angle=5)'

    p = mpatches.Rectangle(xy=(1, 2), width=3, height=4, angle=5)
    assert str(p) == 'Rectangle(xy=(1, 2), width=3, height=4, angle=5)'

    p = mpatches.Wedge(center=(1, 2), r=3, theta1=4, theta2=5, width=6)
    assert str(p) == 'Wedge(center=(1, 2), r=3, theta1=4, theta2=5, width=6)'

    p = mpatches.Arc(xy=(1, 2), width=3, height=4, angle=5, theta1=6, theta2=7)
    expected = 'Arc(xy=(1, 2), width=3, height=4, angle=5, theta1=6, theta2=7)'
    assert str(p) == expected 
開發者ID:alvarobartt,項目名稱:twitter-stock-recommendation,代碼行數:24,代碼來源:test_patches.py

示例2: _nucleotide_key_text_callback

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def _nucleotide_key_text_callback(patch: patches.Wedge,
                                  nucleotide_body_patch: patches.Circle,
                                  text_object, x_border=0.2, y_border=0.1):
    # assumes that the coordinates are equal scaled in the view
    radius = nucleotide_body_patch.radius
    radius_with_width = radius + patch.width
    radius_with_half_width = radius + patch.width / 2

    initial_text_rotation = text_object.get_rotation()
    text_object.set_rotation(0)
    body_patch_window_extent = nucleotide_body_patch.get_window_extent()
    scale_pixel_to_units = body_patch_window_extent.width / 2 / radius
    wedge_height_pixel = scale_pixel_to_units * patch.width
    wedge_width = (2 * np.pi * radius_with_half_width *
                   np.abs(patch.theta2 - patch.theta1) / 360)

    text_width_max = min(
        wedge_width,
        2 * (radius_with_width ** 2 - radius_with_half_width ** 2) ** 0.5)
    text_width_max_pixel = scale_pixel_to_units * text_width_max

    _scale_font_size(text_object, text_width_max_pixel,
                     wedge_height_pixel, x_border, y_border)
    text_object.set_rotation(initial_text_rotation) 
開發者ID:audi,項目名稱:nucleus7,代碼行數:26,代碼來源:vis_utils.py

示例3: draw_collision

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def draw_collision(self, ax, collision):
        if collision == False:
            if self.obj_collision == None:
                return
            else:
                self.obj_collision.update({'visible':False})
        else:
            x = to_index(self.collision_pose.x, self.map_rows, self.xlim)
            y = to_index(self.collision_pose.y, self.map_cols, self.ylim)
            radius = self.cr_pixels #self.collision_radius / (self.xlim[1]-self.xlim[0]) * self.map_rows

            if self.obj_collision == None:
                self.obj_collision = Wedge((y,x), radius, 0, 360, color='y',alpha=0.5, visible=True)
                ax.add_artist(self.obj_collision)
            else:
                self.obj_collision.update({'center': [y,x], 'visible':True})

            # self.obj_robot.set_data(self.turtle_loc)
            # plt.pause(0.01) 
開發者ID:montrealrobotics,項目名稱:dal,代碼行數:21,代碼來源:dal.py

示例4: draw_robot

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def draw_robot(self, ax):
        x = to_index(self.current_pose.x, self.map_rows, self.xlim)
        y = to_index(self.current_pose.y, self.map_cols, self.ylim)
        # radius = self.map_rows*0.4/self.grid_rows
        radius = self.cr_pixels # self.collision_radius / (self.xlim[1]-self.xlim[0]) * self.map_rows
        theta = -self.current_pose.theta-np.pi/2
        xdata = y, y+radius*3*np.cos(theta)
        ydata = x, x+radius*3*np.sin(theta)

        if self.obj_robot == None:
            #self.obj_robot = ax.imshow(self.turtle_loc, alpha=0.5, cmap=plt.cm.binary)
            # self.obj_robot = ax.imshow(self.turtle_loc, alpha=0.5, cmap=plt.cm.Reds,interpolation='nearest')
            self.obj_robot = Wedge((y,x), radius, 0, 360, color='r',alpha=0.5)
            self.obj_heading, = ax.plot(xdata, ydata, 'r', alpha=0.5) 
            ax.add_artist(self.obj_robot)
        else:
            self.obj_robot.update({'center': [y,x]})
            self.obj_heading.update({'xdata':xdata, 'ydata':ydata})
            # self.obj_robot.set_data(self.turtle_loc)
            # plt.pause(0.01) 
開發者ID:montrealrobotics,項目名稱:dal,代碼行數:22,代碼來源:dal.py

示例5: draw_bel

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def draw_bel(self, ax):
        o_bel,i_bel,j_bel = np.unravel_index(np.argmax(self.belief.cpu().detach().numpy(), axis=None), self.belief.shape)
        x_bel = to_real(i_bel, self.xlim,self.grid_rows)
        y_bel = to_real(j_bel, self.ylim,self.grid_cols)
        x = to_index(x_bel, self.map_rows, self.xlim)
        y = to_index(y_bel, self.map_cols, self.ylim)
        # radius = self.map_rows*0.4/self.grid_rows
        radius = self.cr_pixels # self.collision_radius / (self.xlim[1]-self.xlim[0]) * self.map_rows
        theta = o_bel * self.heading_resol
        theta = -theta-np.pi/2
        xdata = y, y+radius*3*np.cos(theta)
        ydata = x, x+radius*3*np.sin(theta)

        if self.obj_robot_bel == None:
            #self.obj_robot = ax.imshow(self.turtle_loc, alpha=0.5, cmap=plt.cm.binary)
            # self.obj_robot = ax.imshow(self.turtle_loc, alpha=0.5, cmap=plt.cm.Reds,interpolation='nearest')
            self.obj_robot_bel = Wedge((y,x), radius*0.95, 0, 360, color='b',alpha=0.5)
            self.obj_heading_bel, = ax.plot(xdata, ydata, 'b', alpha=0.5) 
            ax.add_artist(self.obj_robot_bel)
        else:
            self.obj_robot_bel.update({'center': [y,x]})
            self.obj_heading_bel.update({'xdata':xdata, 'ydata':ydata}) 
開發者ID:montrealrobotics,項目名稱:dal,代碼行數:24,代碼來源:dal.py

示例6: _draw_nucleotide_keys

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def _draw_nucleotide_keys(keys_required: Optional[List[str]],
                          keys_optional: Optional[List[str]],
                          center: Sequence[float],
                          nucleotide_body_patch: patches.Circle,
                          subplot: plt_axes.Subplot,
                          color, radius=10.0, width=5.0,
                          theta_min=0, theta_max=180):
    # pylint: disable=too-many-arguments
    # not possible to have less arguments without more complexity
    # pylint: disable=too-many-locals
    # is not possible to split the method without more complexity
    keys_required = keys_required or []
    keys_optional = keys_optional or []

    keys_all = keys_required + keys_optional

    if not keys_all:
        return None

    number_of_keys = len(keys_all)
    theta_delta = (theta_max - theta_min) / number_of_keys
    thetas = np.arange(theta_min, theta_max, theta_delta)
    key_patches = {}
    for each_key, each_start_theta in zip(keys_all, thetas):
        hatch = "x" if each_key in keys_optional else None
        theta1 = each_start_theta
        theta2 = theta1 + theta_delta
        key_patch = patches.Wedge(
            center, radius + width, theta1, theta2, width=width,
            facecolor=color, hatch=hatch, edgecolor="white")
        key_patches[each_key] = key_patch

        text_object = _draw_key_text(
            each_key, center, theta1, theta2, radius, width, subplot)
        key_patch.add_callback(partial(
            _nucleotide_key_text_callback,
            text_object=text_object,
            nucleotide_body_patch=nucleotide_body_patch))
        subplot.add_patch(key_patch)
    return key_patches 
開發者ID:audi,項目名稱:nucleus7,代碼行數:42,代碼來源:vis_utils.py

示例7: _is_full_circle_deg

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def _is_full_circle_deg(thetamin, thetamax):
    """
    Determine if a wedge (in degrees) spans the full circle.

    The condition is derived from :class:`~matplotlib.patches.Wedge`.
    """
    return abs(abs(thetamax - thetamin) - 360.0) < 1e-12 
開發者ID:PacktPublishing,項目名稱:Mastering-Elasticsearch-7.0,代碼行數:9,代碼來源:polar.py

示例8: _is_full_circle_rad

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def _is_full_circle_rad(thetamin, thetamax):
    """
    Determine if a wedge (in radians) spans the full circle.

    The condition is derived from :class:`~matplotlib.patches.Wedge`.
    """
    return abs(abs(thetamax - thetamin) - 2 * np.pi) < 1.74e-14 
開發者ID:PacktPublishing,項目名稱:Mastering-Elasticsearch-7.0,代碼行數:9,代碼來源:polar.py

示例9: get_points

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def get_points(self):
        # docstring inherited
        if self._invalid:
            points = self._viewLim.get_points().copy()
            # Scale angular limits to work with Wedge.
            points[:, 0] *= 180 / np.pi
            if points[0, 0] > points[1, 0]:
                points[:, 0] = points[::-1, 0]

            # Scale radial limits based on origin radius.
            points[:, 1] -= self._originLim.y0

            # Scale radial limits to match axes limits.
            rscale = 0.5 / points[1, 1]
            points[:, 1] *= rscale
            width = min(points[1, 1] - points[0, 1], 0.5)

            # Generate bounding box for wedge.
            wedge = mpatches.Wedge(self._center, points[1, 1],
                                   points[0, 0], points[1, 0],
                                   width=width)
            self.update_from_path(wedge.get_path())

            # Ensure equal aspect ratio.
            w, h = self._points[1] - self._points[0]
            deltah = max(w - h, 0) / 2
            deltaw = max(h - w, 0) / 2
            self._points += np.array([[-deltaw, -deltah], [deltaw, deltah]])

            self._invalid = 0

        return self._points 
開發者ID:PacktPublishing,項目名稱:Mastering-Elasticsearch-7.0,代碼行數:34,代碼來源:polar.py

示例10: _gen_axes_patch

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def _gen_axes_patch(self):
        return mpatches.Wedge((0.5, 0.5), 0.5, 0.0, 360.0) 
開發者ID:PacktPublishing,項目名稱:Mastering-Elasticsearch-7.0,代碼行數:4,代碼來源:polar.py

示例11: test_wedge_movement

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def test_wedge_movement():
    param_dict = {'center': ((0, 0), (1, 1), 'set_center'),
                  'r': (5, 8, 'set_radius'),
                  'width': (2, 3, 'set_width'),
                  'theta1': (0, 30, 'set_theta1'),
                  'theta2': (45, 50, 'set_theta2')}

    init_args = dict((k, v[0]) for (k, v) in six.iteritems(param_dict))

    w = mpatches.Wedge(**init_args)
    for attr, (old_v, new_v, func) in six.iteritems(param_dict):
        assert_equal(getattr(w, attr), old_v)
        getattr(w, func)(new_v)
        assert_equal(getattr(w, attr), new_v) 
開發者ID:miloharper,項目名稱:neural-network-animation,代碼行數:16,代碼來源:test_patches.py

示例12: test_wedge_range

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def test_wedge_range():
    ax = plt.axes()

    t1 = 2.313869244286224

    args = [[52.31386924, 232.31386924],
            [52.313869244286224, 232.31386924428622],
            [t1, t1 + 180.0],
            [0, 360],
            [90, 90 + 360],
            [-180, 180],
            [0, 380],
            [45, 46],
            [46, 45]]

    for i, (theta1, theta2) in enumerate(args):
        x = i % 3
        y = i // 3

        wedge = mpatches.Wedge((x * 3, y * 3), 1, theta1, theta2,
                               facecolor='none', edgecolor='k', lw=3)

        ax.add_artist(wedge)

    ax.set_xlim([-2, 8])
    ax.set_ylim([-2, 9]) 
開發者ID:miloharper,項目名稱:neural-network-animation,代碼行數:28,代碼來源:test_patches.py

示例13: get_points

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def get_points(self):
        if self._invalid:
            points = self._viewLim.get_points().copy()

            # Scale angular limits to work with Wedge.
            points[:, 0] *= 180 / np.pi
            if points[0, 0] > points[1, 0]:
                points[:, 0] = points[::-1, 0]

            # Scale radial limits based on origin radius.
            points[:, 1] -= self._originLim.y0

            # Scale radial limits to match axes limits.
            rscale = 0.5 / points[1, 1]
            points[:, 1] *= rscale
            width = min(points[1, 1] - points[0, 1], 0.5)

            # Generate bounding box for wedge.
            wedge = mpatches.Wedge(self._center, points[1, 1],
                                   points[0, 0], points[1, 0],
                                   width=width)
            self.update_from_path(wedge.get_path())

            # Ensure equal aspect ratio.
            w, h = self._points[1] - self._points[0]
            if h < w:
                deltah = (w - h) / 2.0
                deltaw = 0.0
            elif w < h:
                deltah = 0.0
                deltaw = (h - w) / 2.0
            else:
                deltah = 0.0
                deltaw = 0.0
            self._points += np.array([[-deltaw, -deltah], [deltaw, deltah]])

            self._invalid = 0

        return self._points 
開發者ID:Relph1119,項目名稱:GraphicDesignPatternByPython,代碼行數:41,代碼來源:polar.py

示例14: draw_center

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def draw_center(self, ax):
        x = to_index(0, self.map_rows, self.xlim)
        y = to_index(0, self.map_cols, self.ylim)
        # radius = self.map_rows*0.4/self.grid_rows
        radius = self.cr_pixels # self.collision_radius / (self.xlim[1]-self.xlim[0]) * self.map_rows
        theta = 0-np.pi/2
        xdata = y, y+radius*3*np.cos(theta)
        ydata = x, x+radius*3*np.sin(theta)

        obj_robot = Wedge((y,x), radius, 0, 360, color='r',alpha=0.5)
        obj_heading, = ax.plot(xdata, ydata, 'r', alpha=0.5) 
        ax.add_artist(obj_robot) 
開發者ID:montrealrobotics,項目名稱:dal,代碼行數:14,代碼來源:dal.py

示例15: _gen_axes_patch

# 需要導入模塊: from matplotlib import patches [as 別名]
# 或者: from matplotlib.patches import Wedge [as 別名]
def _gen_axes_patch(self):
        return Wedge((0.5, 0.5), 0.5, 270, 360) 
開發者ID:innstereo,項目名稱:innstereo,代碼行數:4,代碼來源:polar_axes.py


注:本文中的matplotlib.patches.Wedge方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。