Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Plotting animations in Jupyter does not seem to be compatible with current Numpy (version 2 or greater) #265

Open
@fomightez

Description

This is a follow-up to Plotting animations do not seem to be compatible with Jupyter Notebook 7; however, I think because the new issue with animations is isolatable to the version of Numpy, it probably deserves its own issue post.

Essentially, if you do as it says in Plotting animations do not seem to be compatible with Jupyter Notebook 7 and specify Numpy to not be above version 1.26.4, the animation will work.

If you leave things unspecified so it gets current Numpy, which is v2.1.1, then you get the following when you run the code:

AttributeError: np.string_was removed in the NumPy 2.0 release. Use np.bytes_ instead.

You can easily test this going here and following the steps outlined there. If you skip the step specifying the numpy version, you'll see the error.

Full traceback seen when initiating animation when using Numpy 2.1.1 Even when ipympl is installed, working, and specified and you use the version of Hypertools obtained with `pip install git+https://github.com/ContextLab/hypertools.git`, you'll see the following whether using Python 3.11 or 3.10:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In[1], line 6
 4 import numpy as np
 5 arr = np.array( [[math.sin(3*i[/100](https://hub.ovh2.mybinder.org/100)), math.cos (3*i[/100](https://hub.ovh2.mybinder.org/100)), (1[/100](https://hub.ovh2.mybinder.org/100))**2, (i[/100](https://hub.ovh2.mybinder.org/100))**3, 1[/](https://hub.ovh2.mybinder.org/)(1+i[/100](https://hub.ovh2.mybinder.org/100))] for i in range(0,300)])
----> 6 hyp.plot(arr, animate=True)
File [/srv/conda/envs/notebook/lib/python3.11/site-packages/hypertools/plot/backend.py:1070](https://hub.ovh2.mybinder.org/srv/conda/envs/notebook/lib/python3.11/site-packages/hypertools/plot/backend.py#line=1069), in manage_backend.<locals>.plot_wrapper(*args, **kwargs)
 1067 if BACKEND_WARNING is not None:
 1068 warnings.warn(BACKEND_WARNING)
-> 1070 return plot_func(*args, **kwargs)
 1072 finally:
 1073 # restore rcParams prior to plot
 1074 with warnings.catch_warnings():
 1075 # if the matplotlibrc was cached from <=v3.3.0, a TON of
 1076 # (harmless as of v3.2.0) MatplotlibDeprecationWarnings
 1077 # about `axes.Axes3D`-related rcParams fields are issued
File [/srv/conda/envs/notebook/lib/python3.11/site-packages/hypertools/plot/plot.py:313](https://hub.ovh2.mybinder.org/srv/conda/envs/notebook/lib/python3.11/site-packages/hypertools/plot/plot.py#line=312), in plot(x, fmt, marker, markers, linestyle, linestyles, color, colors, palette, group, hue, labels, legend, title, size, elev, azim, ndims, model, model_params, reduce, cluster, align, normalize, n_clusters, save_path, animate, duration, tail_duration, rotations, zoom, chemtrails, precog, bullettime, frame_rate, interactive, explore, mpl_backend, show, transform, vectorizer, semantic, corpus, ax, frame_kwargs)
 311 if transform is None:
 312 raw = format_data(x, **text_args)
--> 313 xform = analyze(
 314 raw,
 315 ndims=ndims,
 316 normalize=normalize,
 317 reduce=reduce,
 318 align=align,
 319 internal=True,
 320 )
 321 else:
 322 xform = transform
File [/srv/conda/envs/notebook/lib/python3.11/site-packages/hypertools/tools/analyze.py:53](https://hub.ovh2.mybinder.org/srv/conda/envs/notebook/lib/python3.11/site-packages/hypertools/tools/analyze.py#line=52), in analyze(data, normalize, reduce, ndims, align, internal)
 9 """
 10 Wrapper function for normalize -> reduce -> align transformations.
 11 
 (...)
 49 
 50 """
 52 # return processed data
---> 53 return aligner(reducer(normalizer(data, normalize=normalize, internal=internal),
 54 reduce=reduce, ndims=ndims, internal=internal), align=align)
File [/srv/conda/envs/notebook/lib/python3.11/site-packages/hypertools/_shared/helpers.py:159](https://hub.ovh2.mybinder.org/srv/conda/envs/notebook/lib/python3.11/site-packages/hypertools/_shared/helpers.py#line=158), in memoize.<locals>.memoizer(*args, **kwargs)
 157 key = str(args) + str(kwargs)
 158 if key not in cache:
--> 159 cache[key] = obj(*args, **kwargs)
 160 return cache[key]
File [/srv/conda/envs/notebook/lib/python3.11/site-packages/hypertools/tools/reduce.py:95](https://hub.ovh2.mybinder.org/srv/conda/envs/notebook/lib/python3.11/site-packages/hypertools/tools/reduce.py#line=94), in reduce(x, reduce, ndims, normalize, align, model, model_params, internal, format_data)
 92 if reduce is None:
 93 return x
---> 95 elif isinstance(reduce, (str, np.string_)):
 96 model_name = reduce
 97 model_params = {
 98 'n_components': ndims
 99 }
File [/srv/conda/envs/notebook/lib/python3.11/site-packages/numpy/__init__.py:397](https://hub.ovh2.mybinder.org/srv/conda/envs/notebook/lib/python3.11/site-packages/numpy/__init__.py#line=396), in __getattr__(attr)
 394 raise AttributeError(__former_attrs__[attr])
 396 if attr in __expired_attributes__:
--> 397 raise AttributeError(
 398 f"`np.{attr}` was removed in the NumPy 2.0 release. "
 399 f"{__expired_attributes__[attr]}"
 400 )
 402 if attr == "chararray":
 403 warnings.warn(
 404 "`np.chararray` is deprecated and will be removed from "
 405 "the main namespace in the future. Use an array with a string "
 406 "or bytes dtype instead.", DeprecationWarning, stacklevel=2)
AttributeError: `np.string_` was removed in the NumPy 2.0 release. Use `np.bytes_` instead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /