import numpy as np from matplotlib import cm import matplotlib.pyplot as plt import matplotlib.cm as cm delta = 0.2 x = np.arange(-3,3,delta) y = np.arange(-3,3,delta) X,Y = np.meshgrid(x,y) Z=X**2 +Y**2 x= X.flatten() y= Y.flatten() z= Z.flatten() fig = plt.figure(figsize=(12, 6)) ax1 = fig.add_subplot(121,projection = '3d') ax1.plot_trisurf(x,y,z, cmap = cm.jet ,linewidth = 0.01) plt.title("3D") ax2 = fig.add_subplot(122) cs = ax2.contour(X,Y,Z,15,cmap = 'jet') ax2.clabel(cs,line = True ,fontsize = 10, fmt= '%1.1f' ) plt.title("Contour") plt.show() 优化这段代码
时间: 2023-11-11 13:03:19 浏览: 63
以下是优化后的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
delta = 0.2
x = y = np.arange(-3, 3, delta)
X, Y = np.meshgrid(x, y)
Z = X**2 + Y**2
fig = plt.figure(figsize=(12, 6))
ax1 = fig.add_subplot(121, projection='3d')
ax1.plot_surface(X, Y, Z, cmap='jet')
ax1.set_title("3D")
ax2 = fig.add_subplot(122)
cs = ax2.contour(X, Y, Z, 15, cmap='jet')
ax2.clabel(cs, inline=True, fontsize=10, fmt='%1.1f')
ax2.set_title("Contour")
plt.show()
```
主要的改动如下:
1. 从 `matplotlib` 中导入 `mpl_toolkits.mplot3d`,以便使用 3D 绘图函数。
2. 使用 `plot_surface` 函数绘制 3D 图形,而不是 `plot_trisurf` 函数,因为前者效果更好且速度更快。
3. 调整了代码格式,使其更易读。
相关问题
import numpy as np import pandas as pd import matplotlib.pyplot as plt
这三个库都是Python中常用的数据分析和可视化库。其中,NumPy是Python中用于科学计算的基础库,提供了高性能的多维数组和矩阵计算功能。Pandas是基于NumPy的一个数据处理库,提供了高效的数据结构和数据分析工具。Matplotlib是Python中最流行的数据可视化库之一,提供了各种绘图工具和图表类型,可以用于生成各种静态和动态的图表。
以下是一个简单的例子,展示如何使用这三个库绘制一个柱状图:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 创建数据
bar_positions = [1, 2, 3, 4]
bar_heights = [1, 2, 3, 4]
# 绘制柱状图
fig, ax = plt.subplots()
ax.bar(np.arange(len(bar_positions)), bar_heights)
# 设置x轴标签
ax.set_xticks(np.arange(len(bar_positions)))
ax.set_xticklabels(bar_positions)
# 设置y轴标签
ax.set_ylabel('Bar Heights')
# 设置图表标题
ax.set_title('A Simple Bar Chart')
# 显示图表
plt.show()
```
import matplotlib.pyplot as plt import numpy as np data = np.arange(10) plt.plot(data)
这段代码的作用是使用 Matplotlib 库绘制一条折线图,其中 x 轴是数据的索引(0 到 9),y 轴是数据本身(从 0 到 9)。具体来说,代码先导入了 Matplotlib 和 NumPy 库,然后使用 NumPy 库生成一个包含 0 到 9 的整数的一维数组 data,最后使用 plt.plot() 函数将这个数组作为参数,绘制出一条折线图。