python 楔形,使半个圆的高度和宽度可变

olmpazwi  于 2023-05-16  发布在  Python
关注(0)|答案(1)|浏览(135)

我试图在图中画出半个圆(matplotlib),但最终得到的是一条线,因为我的y轴最大值是10,000,x轴最大值是5。
我想知道是否有可能设置宽度为2.5和高度为5,000的楔形功能?

def circleplot():
    # preparer le graph
    fig, ax = plt.subplots()
    ax.set_xlim(xmin=0, xmax=5)
    ax.set_ylim(ymin=0, ymax=10000)

    w1 = Wedge((2.5, 5000), 2.5, 0, 180, width=0.1, color='black')
    ax.add_patch(w1)
    plt.show()

circleplot()
vdzxcuhz

vdzxcuhz1#

我的意思是只需使用普通三角函数将点创建为圆。只要对x和y应用两种不同的比例,就可以使其看起来正常。我用180点沿着半圆,它看起来很光滑。你甚至可以用比这更少的钱。

import matplotlib.pyplot as plt
import math

def circleplot():
# preparer le graph
    fig, ax = plt.subplots()
    ax.set_xlim(xmin=0, xmax=5)
    ax.set_ylim(ymin=0, ymax=10000)

    ctr = (2.5, 5000)
    scl = (2.5, 5000)
    xx = []
    yy = []
    for angle in range(180):
        x = ctr[0] + scl[0] * math.cos(angle * math.pi / 180)
        y = ctr[1] + scl[1] * math.sin(angle * math.pi / 180)
        xx.append(x)
        yy.append(y)
    xx.append(xx[0])
    yy.append(yy[0])

    ax.plot(xx,yy)

circleplot()
plt.show()

输出:

相关问题