python实现3D立柱图demo

bash 复制代码
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["font.sans-serif"] = ["SimHei"]  # 设置字体
plt.rcParams["axes.unicode_minus"] = False  # 该语句解决图像中的"-"负号的乱码问题

# 数据
regions = ['东北', '中南', '华东', '华北', '西南']
years = [2015, 2016, 2017, 2018, 2019]
data = np.random.randint(50, 100, size=(5, 5))

# 创建图形和3D轴
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')

# 设置颜色
colors = ['r', 'g', 'b', 'y', 'c']

# 绘制立柱
x_pos = np.arange(len(regions))
y_pos = np.arange(len(years))
x_pos, y_pos = np.meshgrid(x_pos, y_pos)
x_pos = x_pos.flatten()
y_pos = y_pos.flatten()
z_pos = np.zeros_like(x_pos)

dx = dy = 0.8
dz = data.flatten()

for i, (x, y, z, h) in enumerate(zip(x_pos, y_pos, z_pos, dz)):
    ax.bar3d(x, y, z, dx, dy, h, color=colors[i % len(colors)], alpha=0.8)

# 设置坐标轴
ax.set_xticks(np.arange(len(regions)))
ax.set_yticks(np.arange(len(years)))
ax.set_xticklabels(regions)
ax.set_yticklabels(years)
ax.set_zlabel('销售额')

# 设置视角
ax.view_init(elev=20, azim=45)

# 设置标题
plt.title('每年每地区的销售额')

# 显示图形
plt.tight_layout()
plt.show()
相关推荐
Jp7gnUWcI7 分钟前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
开发语言·c++
kyle~19 分钟前
Open3D---FPFH 3D点云的快速点特征直方图描述符
3d·机器人·点云处理
xcs1940526 分钟前
Java 上位机防空警报系统开发
java·开发语言
Ulyanov27 分钟前
卡尔曼滤波技术博客系列:第四篇:多目标跟踪:数据关联与航迹管理
python·目标跟踪·系统仿真·雷达电子战·仿真引擎
追光的蜗牛丿37 分钟前
C++中引用与指针的选择
开发语言·c++
Three~stone37 分钟前
MATLAB vs Python 两者区别和安装教程
开发语言·python·matlab
soragui1 小时前
【Python】第 1 章:Python 解释器原理
开发语言·python
Ulyanov1 小时前
卡尔曼滤波技术博客系列:第三篇 雷达目标跟踪:运动模型与坐标转换
python·目标跟踪·系统仿真·雷达电子战
UAq6wn76j1 小时前
.NET源码生成器使用SyntaxTree生成代码及简化语法
java·开发语言·.net
@atweiwei1 小时前
Go语言并发编程面试题精讲(上)
java·开发语言·面试·golang·channel