Mathematica, Нарисовать несколько горизонтальных линий на графике. Как?
От: imh0  
Дата: 05.09.21 10:01
Оценка:
Есть набор изменения цены. Представлен, условно говоря, как TimeSerie...

То есть время в днях, и цена. Таких данных по изменению цены — два. По изменению предложения и спроса (Ask и Bid).
Например

ask = {{39168.459728,231.830000},{39168.459728,231.820000},{39168.459732,231.830000},{39168.459741,231.830000},{39168.459742,231.810000},{39168.459748,231.830000},{39168.459765,231.820000},{39168.459767,231.830000},{39168.459796,231.820000},{39168.459801,231.800000},{39168.459810,231.810000},{39168.459820,231.800000},{39168.459841,231.790000},{39168.459846,231.790000},{39168.459855,231.780000},{39168.459871,231.790000},{39168.459899,231.800000},{39168.459928,231.780000},{39168.459952,231.790000},{39168.459957,231.770000},}

bid = {{39168.459728,231.750000},{39168.459728,231.760000},{39168.459732,231.780000},{39168.459741,231.770000},{39168.459742,231.760000},{39168.459748,231.770000},{39168.459765,231.760000},{39168.459767,231.770000},{39168.459796,231.760000},{39168.459801,231.740000},{39168.459810,231.750000},{39168.459820,231.740000},{39168.459841,231.730000},{39168.459846,231.740000},{39168.459855,231.720000},{39168.459871,231.740000},{39168.459899,231.730000},{39168.459928,231.720000},{39168.459952,231.710000},{39168.459957,231.700000},}

Я хочу нарисовать это на графике в виде ломанных линий.

ListLinePlot[{a, b}]



Как добавить на это же график еще четыре разноцветных линии? У меня линии эти хранятся в виде списка тоже.

bar={231.820000,231.830000,231.770000,231.779000,231.830000,231.770000,0.080000}

Как добавить просто некий грасный грид понятно. Например так :

ListLinePlot[{ask, bid}, GridLines -> {None, bar[[1 ;; 6]]}, GridLinesStyle -> Red]

А вот как добавить разноцветные не очень понятно.

===
Re: Mathematica, Нарисовать несколько горизонтальных линий на графике. Как?
От: imh0  
Дата: 05.09.21 11:27
Оценка:
I>А вот как добавить разноцветные не очень понятно.

Оказалось, что все просто. ) Надо не перечислять линии в списке, а указывать их как разные обьекты для рисования,тогда цвет линий будет меняться.

1) Создаем график не рисуя — точка запятой в конце.

ts = ListLinePlot[{ask, bid}];

2) Создаем отрисовку нужных линий, тоже не выполняя саму комманду, а только задав её значение. А вычисиление её будет уже когда, переменная будет использованна.

l = Plot[{bar[1]], bar[2]], bar[3]], bar[4]], bar[5]],
bar[6]]}, {x, 39000, 40000}];

Тоже с ';'

Но кстати, можно и без точки с запятой, просто лишее рисование... )

И затем уже рисуем —

Show[ts, l]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.