График numpy массив [x, 3] на том же графике - PullRequest
2 голосов
/ 11 марта 2020

Как построить массив NumPy таким образом, чтобы каждая горизонтальная линия output[0],output[1],output[2]....... из массива numpy ниже соответствовала 3 точкам output[0][0], output[0][1], output[0][2] на значении оси X 1, следующий points is output[1][0], output[1][1], output[1][2] соответствует значению оси x 2.

И подобные позиции в output[z][0] связаны с линией, такой что output[0][0], output[1][0] , output[2][0], output[3][0], ..... все связаны линией.

array([[112.00686535, 122.94385176, 32.6615162 ],
       [122.02063079, 142.95451678, 42.66445891],
       [132.04269772, 112.98105083, 52.6898423 ],
       ...,

Приведенный выше пример массива numpy имеет форму [2000,3]

Вывод может выглядеть как

enter image description here

Например, x-axis значение 2 представляет output[2] = output[2][0], output[2][1], output[2][2]

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Я понял, графически, получился хороший интерактивный график.

import plotly.graph_objects as go

# Create random data with numpy
import numpy as np
np.random.seed(1)

N = 100
random_x = np.linspace(0, 1, N)
random_y0 = np.random.randn(N) + 5
random_y1 = np.random.randn(N)
random_y2 = np.random.randn(N) - 5

# Create traces
fig = go.Figure()
fig.add_trace(go.Scatter(x=random_x, y=random_y0,
                    mode='lines',
                    name='lines'))

fig.add_trace(go.Scatter(x=random_x, y=random_y1,
                    mode='lines+markers',
                    name='lines+markers'))

fig.add_trace(go.Scatter(x=random_x, y=random_y2,
                    mode='markers', name='markers'))

fig.show()

enter image description here

Для вывода с формой [x, 3] мы может передавать

y=output[:,0] , y=output[:,1], y=output[:,2] 

каждой строке в отдельности

т.е.

fig.add_trace(go.Scatter(x=random_x, y=output[:,0],
                    mode='lines',
                    name='lines'))
0 голосов
/ 11 марта 2020

Возможно, что-то вроде этого, с Pandas?

import pandas as pd
import numpy as np

xs = np.array([[112.00686535, 122.94385176, 32.6615162 ],
               [122.02063079, 142.95451678, 42.66445891],
               [132.04269772, 112.98105083, 52.6898423 ]])
df = pd.DataFrame(xs, index=np.arange(1, len(xs)+1))
df.plot(xticks=df.index)

enter image description here

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