Как построить 1-d данные при заданном значении y с помощью pylab - PullRequest
29 голосов
/ 08 сентября 2011

Я хочу построить точки данных, которые находятся в одномерном массиве только вдоль горизонтальной оси [править: при заданном значении y], как на этом графике:

http://static.inky.ws/image/644/image.jpg

Как я могу сделать это с pylab?

Ответы [ 2 ]

27 голосов
/ 15 марта 2012

Стейвен уже отредактировал свой пост, включив в него порядок построения значений вдоль y-значения 1, но он использовал списки Python.

Вариант, который должен быть быстрее (хотя я его не измерял), использует только пустые массивы:

import numpy as np
import matplotlib.pyplot as pp
val = 0. # this is the value where you want the data to appear on the y-axis.
ar = np.arange(10) # just as an example array
pp.plot(ar, np.zeros_like(ar) + val, 'x')
pp.show()

Как удобная функция, которая предлагает все обычные уточнения matplotlib через kwargs, это будет:

def plot_at_y(arr, val, **kwargs):
    pp.plot(arr, np.zeros_like(arr) + val, 'x', **kwargs)
    pp.show()
17 голосов
/ 08 сентября 2011

Это построит массив "ar":

import matplotlib.pyplot as pp
ar = [1, 2, 3, 8, 4, 5]
pp.plot(ar)
pp.show()

Если вы используете ipython, вы можете запустить его с параметром "-pylab", и он автоматически импортирует numpy и matplotlib при запуске, поэтомувам просто нужно написать:

ar = [1, 2, 3, 8, 4, 5]
plot(ar)

Для построения точечной диаграммы с координатой y, равной 1:

plot(ar, len(ar) * [1], "x")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...