Как построить график с другой размерностью? - PullRequest
0 голосов
/ 04 июля 2019

У меня есть график, но в нем много точек.Поэтому я хочу сделать это для каждого специального значения x ax, я хочу 3 точки оси y. У меня есть список для осей y, и я хочу точки Как 2-е наибольшее, половинное и 2-е наименьшее значения списка y.

Когда я пытался построить его, он выдавал ошибку, подобную этой: ValueError: x и y должны иметь одинаковое первое измерение, но иметь формы (10,) и (3,)

for i in range(0, 100):
    x = []
    y = []
    z = []
    Re = 0.1 * (1.1**i)  # 0,1<2017'e kadar Reynolds sayısı oluşturuyor.
    B = e ** (-0.08 * Re) * (2.5 * np.log(Re) + 5.25) + 8.5 * (1 - e ** (-0.08 * Re))  # B hesaplanıyor.
    C = 0.8+0.9*((e**(-0.08*Re)/(Re**2))+((1-e**(-0.08*Re))/(B**2)))**(-0.5)  # C=ub/u star
    F = 0.31*Re*e**(-0.1*Re)+1.8*e**(-0.88*d50/D)*(1-e**(-0.1*Re))  # Urmb,b/u star
    A = F/C   # Urmbs,b/Ub

    for j in range(10):
        n = np.random.normal(mean, sd, 100)

        Dcbss = 0.7*math.tan(fi/1.5) / (((1 + (abs(n[j])*A))**2)*(1+(1/2.5)*((abs(n[j])*F)**2)*math.tan(fi/1.5)))
        x.append(Re)
        y.append(Dcbss)
        y.sort()


    plt.xscale('log')
    z= [y[1], y[5],y [9]]

    plt.plot(x, z, 'ro', marker='.', markersize=0.5)


plt.show()
plt.close()

это моезначения, например:

y = [0,026251744070733794 0,03918 0,06198 0,10905 0,14959 0,16720 0,16873 0,20148 0,20706 0,23270]

x = [1252,78 1252,78 1252,78 1252,78 1252,78 1252,7 12,7 * 127 * 128 * 12 * 128 * 128 * 12 * 128 * 128 * 128 * 12 * 12 * 12 * 128 * 12 * 12 * 12 * 12 * 12 * 12 * 128 * 12 * 12 * 12 * 12 * 12 * 12 * 12 * 28 * 12 * 12 * 12 * 12 * * * * * * 12 = 12 * 12 * 12 * 12 * 12 * 12 * 12 * 12 * 12 * 12 * 12 * 12 * 12 * 12 * 12 * 12 = 12 * 12 = 12 * 12 = 12 * 12 = 12 * 12 * 12 = 12,0 * 12,7 = 12 * 12 = 12 * 12 = * * * *> * * * * * * * * * * = * * * * * * * * * * * * = * * * * *, не он не может быть переведен в нормальный режим.= [0,03918 0,16720 0,23270]

так как я могу взять эти 3 значения для каждого значения x и увидеть, что только 3 точки на моем графике?как сюжет (x, z)

1 Ответ

0 голосов
/ 04 июля 2019

Ваш вектор x, очевидно, имеет размер 10, а вектор z имеет размер 3. Я предполагаю, что вы хотите построить ту же горизонтальную координату Re для вашего вектора z= [y[1], y[5],y [9]]. Если это так, просто замените

plt.plot(x, z, 'ro', marker='.', markersize=0.5)

от

plt.plot([Re]*3, z, 'ro', marker='.', markersize=0.5)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...