代码之家  ›  专栏  ›  技术社区  ›  dildeolupbiten

Python/Matplotlib:如何根据特定的(x,y)位置显示图像?

  •  0
  • dildeolupbiten  · 技术社区  · 8 年前

    下图是正确的图像。但我想做的是,用符号代替名字。

    With sign names

    下面的图片是使用图片而不是文本时的图片。

    With sign symbols

    你能帮助我吗?

    有关完整的代码和图像,请访问 link .

    def draw_sign_names(self):
        asc = self.house_cusps()[1]
        for i, j in enumerate(self.SIGNS):
            end = 30 - (asc % 30) + 180
            start = end - 30
            start += (30 * i)
            end += (30 * i)
            if start > 360:
                start -= 360
            if end > 360:
                end -= 360
            if start > 330:
                midpoint = (start + end + 360) / 2
            else:
                midpoint = (start + end) / 2
            if midpoint > 360:
                midpoint -= 360
            _x1, _y1 = self.x_y(angle=midpoint, r1=480, r2=400)
            img = plt.imread(f"{self.sign_pos()[1][i]}.png")
            plt.imshow(img, aspect="auto", interpolation="gaussian", extent=[_x1[0], _x1[1], _y1[1], _y1[0]])
            # plt.text(sum(_x1) / 2, sum(_y1) / 2, self.sign_pos()[1][i], color="black", size=8, rotation=-10)
    
    0 回复  |  直到 8 年前