python画2.5维

今天想用python画一个像Matlab里面的2.5维的图片,输入一个二维列表,将列表表示的图片画出,找了半天没找到2.5维,实际很简单:

import matplotlib.pyplot as plt
data = []# 表示希望画的列表
plt.imshow(data) 
plt.show()

 

### 使用 Python Matplotlib 和 Plotly 库绘制 3D 图形和等高线图 #### Matplotlib 绘制 3D 立体图形与等高线图 对于三立体图形以及等高线图的绘制,`matplotlib` 提供了 `mplot3d` 工具包来支持这些功能。下面展示如何利用此工具包实现目标。 首先安装必要的库: ```bash pip install matplotlib numpy ``` 接着通过以下代码片段演示具体的绘图过程: 导入所需模块并准备数据集: ```python import numpy as np from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(projection='3d') x = np.outer(np.linspace(-2, 2, 30), np.ones(30)) y = x.copy().T # transpose z = np.cos(x ** 2 + y ** 2) surf = ax.plot_surface(x, y, z, cmap='viridis', edgecolor='none') fig.colorbar(surf, shrink=0.5, aspect=5) # 添加颜色条 plt.show() ``` 上述代码展示了如何创建一个简单的三表面图[^1]。 为了绘制等高线图,则可以采用如下方式: ```python X, Y = np.meshgrid(np.arange(-5, 5, .2), np.arange(-5, 5, .2)) R = np.sqrt(X**2 + Y**2) Z = np.sin(R) plt.contourf(X, Y, Z, levels=np.linspace(Z.min(), Z.max(), 8)) # 设置等高线条数 plt.colorbar(); # 显示颜色条 plt.title('Contour Map'); plt.xlabel('Longitude') plt.ylabel('Latitude') plt.show() ``` 这段脚本实现了带有色彩填充效果的二等高线地图绘制[^2]。 #### Plotly 实现更高级别的交互式图表 Plotly 是另一个强大的可视化库,在处理复杂的数据表示方面具有优势,特别是当涉及到动态更新或互动性强的应用场景时更为出色。以下是使用 Plotly 进行相同操作的方法简介。 先确保已安装好所需的软件包: ```bash pip install plotly pandas ``` 然后按照下列指导完成相应类型的图表制作: 构建基础环境及加载必要组件: ```python import plotly.graph_objects as go import numpy as np # 创建网格化坐标矩阵 x = np.linspace(-5, 5, 100) y = np.linspace(-5, 5, 100) X, Y = np.meshgrid(x, y) r = np.sqrt(X**2 + Y**2) Z = np.sin(r) data=[go.Surface(z=Z)] layout=dict(title="Interactive Surface", scene=dict(aspectratio=dict(x=1, y=1, z=0.7), camera_eye=dict(x=-1.7, y=-1.7, z=0.7))) fig_dict={"data": data,"layout": layout} fig = go.Figure(fig_dict) fig.update_layout(scene_aspectmode='manual', width=700, height=700,) fig.show() ``` 以上实例说明了怎样借助 Plotly 构建具备良好用户体验特性的三曲面模型[^4]。 针对等高线图而言,只需稍作调整即可得到满意的结果: ```python trace = go.Contour( z=[[10, 10.625, 12.5, 15.625, 20], [5.625, 6.25, 8.125, 11.25, 15.625], [2.5, 3.125, 5., 8.125, 12.5], [-0.625, 0, 3.125, 6.25, 10.625], [-2.5, -0.625, 1.25, 3.125, 6.25]], colorscale='Viridis' ) data = [trace] fig = go.Figure(data=data) fig.update_layout(title_text='Filled Contours with Custom Colorscale') fig.show() ``` 该部分代码呈现了一个自定义配色方案下的填充分割等高线图像[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值