python数据可视化技巧的100个练习 -- 100. 使用 Plotly 创建 3D 小提琴图 📅 发布时间:2026/8/27 18:36:04 👁 浏览次数: 重要性★★★☆☆难度★★★★☆你是一家金融服务公司的数据分析师。你被要求可视化三个不同部门——销售、市场和开发的年收入分布。使用 3D 小提琴图来表示每个部门的收入分布。数据集包括每个部门的 200 个数据点。在代码中创建必要的数据并使用 Plotly 生成图表。确保图表清晰区分各部门并提供对收入分布的洞察。【数据生成代码示例】importnumpyasnpimportpandasaspdimportplotly.graph_objectsasgo# 为示例生成随机数据departments[Sales,Marketing,Development]datapd.DataFrame({Department:np.repeat(departments,200),Income:np.concatenate([np.random.normal(loc,5000,200)forlocin[70000,60000,80000]])})【图表答案】【代码答案】importnumpyasnpimportpandasaspdimportplotly.graph_objectsasgo# 为示例生成随机数据departments[Sales,Marketing,Development]datapd.DataFrame({Department:np.repeat(departments,200),Income:np.concatenate([np.random.normal(loc,5000,200)forlocin[70000,60000,80000]])})# 创建 3D 小提琴图figgo.Figure(data[go.Violin(xdata[Department][data[Department]dept],ydata[Income][data[Department]dept],namedept,box_visibleTrue,meanline_visibleTrue)fordeptindepartments])# 自定义图表布局fig.update_layout(title按部门划分的收入 3D 小提琴图,xaxis_title部门,yaxis_title收入,width800,height600)fig.show()首先代码生成必要的数据。使用 numpy 和 pandas创建一个包含每个部门销售、市场和开发200 个收入值的数据集。每个部门的收入值围绕指定的均值呈正态分布标准差为 5000。接下来代码使用 plotly.graph_objects 创建一个 3D 小提琴图。使用 go.Figure 函数创建一个图表对象使用 go.Violin 为每个部门创建小提琴图。对于每个部门x 值对应部门名称y 值对应收入值。box_visible 参数在小提琴图内添加一个箱线图meanline_visible 添加一条表示分布均值的线。最后fig.update_layout 方法自定义图表布局设置标题和轴标签并调整图表大小。调用 fig.show 方法显示图表。【小知识】‣ 小提琴图是一种绘制数值数据的方法可以理解为箱线图和核密度图的组合。‣ 小提琴图在 y 轴上的某个值处的宽度表示该值处数据的密度。‣ 3D 小提琴图可以提供跨不同类别的数据分布的更全面视图使其适用于同时比较多个分布。‣ Plotly 是一个强大且灵活的绘图库可以创建交互式图表使其成为 Python 数据可视化的热门选择。