想要统计企业业务人员的花费。假设如下:
有6名业务人员。
有10项花费领域(电话费,住宿费等)
每人每天在上面10个不同的领域花费100元,有可能一个领域花费100也有可能每个领域花费10元,都是不定的。
用可视化图表展示一年的上述数据,如何展示才清晰美观。
如何可视化四维数据?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- 书某人.py 2023-07-10 21:18关注
在展示一年的企业业务人员花费数据时,考虑到每天有10个不同的花费领域,以及6名业务人员,我们可以使用一个多维条形图(3D条形图)来可视化四维数据。
下面是使用Python中的Matplotlib库实现该可视化的示例代码:
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 生成随机数据 np.random.seed(1) num_persons = 6 num_expenses = 10 num_days = 365 data = np.random.randint(1, 101, size=(num_persons, num_expenses, num_days)) # 计算每个人在每个领域的总花费 total_expenses = np.sum(data, axis=2) # 创建画布和子图 fig = plt.figure(figsize=(12, 8)) ax = fig.add_subplot(111, projection='3d') # 生成坐标轴数据 xpos, ypos = np.meshgrid(np.arange(num_persons), np.arange(num_expenses)) xpos = xpos.flatten() ypos = ypos.flatten() zpos = np.zeros_like(xpos) # 生成条形图高度数据 dx = dy = 0.8 dz = total_expenses.flatten() # 设置条形图颜色 colors = dz / float(np.max(dz)) # 绘制3D条形图 ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color=plt.cm.viridis(colors)) # 设置坐标轴标签 ax.set_xlabel('Person') ax.set_ylabel('Expense Category') ax.set_zlabel('Total Expense') # 设置刻度标签 ax.set_xticks(np.arange(num_persons) + dx/2) ax.set_yticks(np.arange(num_expenses) + dy/2) ax.set_xticklabels(range(num_persons)) ax.set_yticklabels(range(num_expenses)) # 添加颜色条 cbar = plt.colorbar(plt.cm.ScalarMappable(cmap='viridis')) cbar.set_label('Normalized Total Expense') # 设置图表标题 plt.title('Annual Expense by Person and Category') # 显示图表 plt.show()
运行以上代码,将会显示一个三维条形图,其中x轴表示业务人员,y轴表示花费领域,z轴表示总花费。条形的高度表示总花费的大小,颜色则表示花费的相对大小(使用viridis颜色映射)。你可以通过旋转和缩放图表来查看数据的不同方面。
请注意,由于数据是随机生成的,你每次运行代码时都会得到不同的结果。确保你根据你的实际数据调整代码以适应你的情况。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 python的qt5界面
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100