Как понять x и высоту в функции matplotlib.pyplot.bar()? ⇐ Python
-
Anonymous
Как понять x и высоту в функции matplotlib.pyplot.bar()?
Я имел дело с файлом CSV, содержащим данные нескольких категорий. И пытаясь нарисовать с помощью функции matplotlib.pyplot.bar(), я не смог понять связь или требования между x и высотой.
Чтобы быть более точным, вот подробная ситуация.
score.csv содержал ряд данных о школьной жизни, независимо от того, проводились ли исследования или нет (0/1)
импортировать numpy как np импортировать matplotlib.pyplot как plt df = pd.read_csv("./score.csv",sep = ",") y = np.array([len(df[df.Research == 0]),len(df[df.Research == 1])]) х = np.arange(2) plt.bar(x,y) plt.xlabel("Кандидаты") plt.ylabel("Частота") plt.xticks(x,('Нет исследований','Есть исследования')) plt.show() Хотя я меняю количество np.arange(2) на np.arange(3), это похоже на ошибку.
ValueError: несоответствие формы: объекты не могут быть преобразованы в одну форму. Несоответствие возникает между аргументом 0 с формой (3,) и аргументом 1 с формой (2,). Следовательно, кажется, что между x и y, о которых я упоминал выше, существует связь. Но я не знаю точной связи между ними.
Мне интересно, почему возникает ошибка, когда np.arange(...) отличается от общего количества параметров np.array([...]). А как работают параметры при использовании plt.bar()?
Я имел дело с файлом CSV, содержащим данные нескольких категорий. И пытаясь нарисовать с помощью функции matplotlib.pyplot.bar(), я не смог понять связь или требования между x и высотой.
Чтобы быть более точным, вот подробная ситуация.
score.csv содержал ряд данных о школьной жизни, независимо от того, проводились ли исследования или нет (0/1)
импортировать numpy как np импортировать matplotlib.pyplot как plt df = pd.read_csv("./score.csv",sep = ",") y = np.array([len(df[df.Research == 0]),len(df[df.Research == 1])]) х = np.arange(2) plt.bar(x,y) plt.xlabel("Кандидаты") plt.ylabel("Частота") plt.xticks(x,('Нет исследований','Есть исследования')) plt.show() Хотя я меняю количество np.arange(2) на np.arange(3), это похоже на ошибку.
ValueError: несоответствие формы: объекты не могут быть преобразованы в одну форму. Несоответствие возникает между аргументом 0 с формой (3,) и аргументом 1 с формой (2,). Следовательно, кажется, что между x и y, о которых я упоминал выше, существует связь. Но я не знаю точной связи между ними.
Мне интересно, почему возникает ошибка, когда np.arange(...) отличается от общего количества параметров np.array([...]). А как работают параметры при использовании plt.bar()?