Ваши данные не обязательно должны быть ndarray
, чтобы нанести их на matplotlib
. Вы можете прочитать ваши данные в виде списка, и они будут отображаться так же, как упомянуто kwinkunks. То, как вы читаете свои данные, имеет значение, и вам действительно нужно сначала об этом беспокоиться!
Чтобы ответить на ваш вопрос, если вы действительно хотите манипулировать данными, а не просто наносить их на график, тогда используйте массив numpy
. путьПреимущество использования массивов numpy
заключается в том, что вы можете легко вычислять новые переменные и обрабатывать имеющиеся у вас данные.
Возьмите следующий пример. Слева вы можете построить данные в виде списка, но вы не можете манипулировать данными и подмножествами. Справа, если ваши данные представляют собой массив numpy
, вы можете легко обусловить данные, скажем, принять только значения x, превышающие 4, и нарисовать их красным.
import matplotlib.pyplot as plt
import numpy as np
#Declare some data as a list
x = [2,5,4,3,6,2,6,10,1,0,.5]
y = [7,2,8,1,4,5,6,5,4,5,2]
#Make that same data a numpy array
x_array = np.array([2,5,4,3,6,2,6,10,1,0,.5])
y_array = np.array([7,2,8,1,4,5,6,5,4,5,2])
#Declare a figure with 2 subplots
fig = plt.figure(figsize=(12,6))
ax1 = plt.subplot(121)
ax2 = plt.subplot(122)
#Plot only the list
ax1.scatter(x,y)
#Plot only the list again on the second subplot
ax2.scatter(x,y)
#Index the data based on condition and plot those points as red
ax2.scatter(x_array[x_array>3],y_array[x_array>3],c='red')
plt.show()