Matplotlib pyplot: построение массива смешивает метки оси Y - PullRequest
0 голосов
/ 18 мая 2018

Я делаю простую программу на Python для построения двух списков целых чисел, по одному на оси времени.Список времени изменяется от 0 до 3 с шагом 1, а список данных состоит из: 5,10, 3,12.Я использовал операторы print, чтобы убедиться, что списки имеют значения, указанные выше.

    plt.plot(time_axis,data_array, 'ro')
    plt.axis([0, 20, 0, 20])
    plt.show()

Однако, как показано на рисунке, ось графика y помечена в порядке обработки моего списка данных, а не в порядке возрастания: 5,10,3,12

Есть ли способ заставить ось y двигаться с равными приращениями до 20?

enter image description here

РЕДАКТИРОВАТЬ: я заметил, что это смешение происходит только когда я использую список в качестве параметра: например,

plt.plot([0,1,2,3],[5,10,3,12],'bo')  #gives the correct graph while     
plt.plot(time_axis,data_array,'bo')   #gives the incorrect graph, 

Даже если два списка time_axis и data_array содержат одинаковые значения.Возвращаясь к моей ошибке, я импортировал свои значения данных из текстового файла, и синтаксический анализ выполнялся неправильно, поэтому значения данных не были целыми числами.Значения char были в формате '5 \ n' и т. Д., Поэтому numplot запутался.Исправление, которое решило проблему!

1 Ответ

0 голосов
/ 18 мая 2018

Я чувствую, что вы пропускаете код, который делает этот шумиха, но вот что я сделал:

import matplotlib.pyplot as plt

time_axis = range(0,4)
data_array=[5,10,3,12]
plt.plot(time_axis,data_array, 'ro')
plt.axis([0, 20, 0, 20])
plt.show()

Это создает изображение: Plot from matplotlbi, которое кажетсябудь то, к чему ты стремился.

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