Как избежать асимптоты, когда я ListPlot таблицы данных с использованием Mathematica? - PullRequest
3 голосов
/ 09 декабря 2011

Я строю таблицу данных, используя ListPlot в Mathematica. Я замечаю, что на графике есть несколько асимптот, которые я не хочу, чтобы они отображались (то есть прямые линии между кривыми). Что я должен сделать, чтобы убрать прямые линии?

Ответы [ 3 ]

3 голосов
/ 09 декабря 2011

Метод из поста Марка МакКлюра: Как комментировать несколько наборов данных в ListPlots

t = Table[Tan[i], {i, -Pi, Pi, .01}];
plot = ListLinePlot[t];
DeleteCases[plot, Line[_?(Length[#] < 4 &)], Infinity]
3 голосов
/ 09 декабря 2011

Возможно:

t = Table[Tan[i], {i, -Pi, Pi, .01}];
ListPlot[#, Joined -> True] & /@ {t, t /. x_ /; Abs@x > 10 -> None}

enter image description here

Редактировать

Более надежный:

t = Table[Tan[i], {i, -Pi, Pi, .01}];
ao = AbsoluteOptions[ListPlot[t, Joined -> True],PlotRange]/. {_ -> {_,x_}} ->x;
ListPlot[t /. x_ /; (x < ao[[1]] || x > ao[[2]]) -> None,  Joined -> True]
0 голосов
/ 09 декабря 2011
t = Table[Tan[i], {i, -Pi, Pi, .01}];
plot = ListLinePlot[t];

Использование Position

Position[plot, Line[___], Infinity]

{{1, 1, 3, 2}, {1, 1, 3, 3}, {1, 1, 3, 4},{1, 1, 3, 5}, {1, 1, 3, 6}}

Использование Part:

plot[[1, 1, 3, 5 ;; 6]] = Sequence[]; Show[plot]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...