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

时间:2018-08-18 19:55:38

标签: python matplotlib

我尝试编写一个占星术应用程序。此应用程序绘制了给定时间和位置的出生图。

下面的图像是正确的图像。但是我想使用符号而不是名称来做到这一点。

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 个答案:

没有答案