'How to solve Axes3D error when plotting a function?

I have a code to graph mi function f(x,y)=(x^4 + y^4). I already imported all the necessary libraries, but when i run it, the "MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6. This is consistent with other Axes classes." error shows. This is my code: `

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
 
figura = plt.figure() 
ejes = Axes3D(figura) 
plt.show() 

def f(x,y):
    return ((x**4)+(y**4)) 

x = np.linspace(-2,2,40) 
y = np.linspace(-2,2,40)

x,y = np.meshgrid(x,y)

z= f(x,y) 

ejes.plot_wireframe(x,y,z)

`



Solution 1:[1]

On my environment it actually works. Anyway you can obtain the same plot using the "3d" projection of pyplot:

import numpy as np
import matplotlib.pyplot as plt
 

figura = plt.figure(figsize=(7,7))
ejes = plt.subplot(111, projection="3d")

def f(x,y):
    return ((x**4)+(y**4)) 

x = np.linspace(-2,2,40) 
y = np.linspace(-2,2,40)

x,y = np.meshgrid(x,y)

z= f(x,y) 

ejes.plot_wireframe(x,y,z)
plt.show()

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Salvatore Daniele Bianco