Чтобы проверить, пустой ли график в Mathematica

Есть ли способ в Mathematica проверить, пуст ли график или нет?

Под пустым я подразумеваю, что он показывает только оси, а не какие-либо точки данных. У меня есть функция, которая, в зависимости от ее входных данных, дает некоторые точки данных (которые будут построены позже) или ничего, но я не буду знать, будет ли она создавать какие-либо действительные точки данных, если я не построю ее. И если это не так, когда я его построю, он вернет пустой сюжет. Я хотел бы различать пустой график и график с точками данных.


person darXider    schedule 18.06.2012    source источник
comment
В сочетании с ListPlot вы можете применить функцию к соответствующему диапазону данных перед построением графика, а затем проверить, какие результаты вы получили. Есть ли причина, по которой график должен быть привязан к выполнению функции? У вас есть короткий пример кода, чтобы показать, что именно вы имеете в виду?   -  person image_doctor    schedule 18.06.2012


Ответы (1)


Я создам пустой график для изучения формы.

empty = Plot[{}, {x, 0, 1}];
FullForm[%]

показывает, что Plot[] возвращает объект Graphics с двумя частями: 1.) содержимое и 2.) параметры. В этом случае первым является пустой список, поэтому установка такого условия, как

empty[[1]] == {}

должен возвращать True для этого конкретного типа пустоты. Это будет работать для других участков

Plot3D[{}, {x, -3, 3}, {y, -2, 2}][[1]] == {}

True

но вам, возможно, придется разобрать FullForm вашего примера, чтобы быть уверенным.

person Fred Klingener    schedule 18.06.2012