You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何绘制如图所示的图表?求助该样式图表的绘制方法

绘制目标图表的实现方法

一、Excel 操作步骤

  • 先把数据整理成规范格式:一行分类标签,对应两列(或多列)需要可视化的数据
  • 选中所有数据区域,点击顶部「插入」选项卡,选择「组合图」
  • 在弹出的组合图设置面板中,给不同数据系列指定对应图表类型(比如一组用簇状柱形,另一组用折线),需要双Y轴的话勾选对应系列的「次坐标轴」
  • 最后调整坐标轴刻度、图例位置、颜色样式,匹配目标图表的外观

二、Python(Matplotlib)代码示例

如果用代码实现,以下是双Y轴组合图的示例(适配常见的柱形+折线组合场景):

import matplotlib.pyplot as plt

# 替换成你的实际数据
categories = ["A", "B", "C", "D"]
bar_values = [12, 25, 18, 22]
line_values = [45, 38, 42, 35]

# 创建画布和主坐标轴
fig, ax1 = plt.subplots(figsize=(8, 5))

# 绘制柱形图
ax1.bar(categories, bar_values, color='#66BB6A', label='柱形数据')
ax1.set_xlabel('分类')
ax1.set_ylabel('柱形数值范围')
ax1.grid(axis='y', linestyle='--', alpha=0.7)

# 创建次坐标轴绘制折线图
ax2 = ax1.twinx()
ax2.plot(categories, line_values, color='#2196F3', marker='s', linewidth=2, label='折线数据')
ax2.set_ylabel('折线数值范围')

# 合并图例
lines1, labels1 = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines1 + lines2, labels1 + labels2, loc='upper right')

plt.title('组合图表示例')
plt.tight_layout()
plt.show()

如果你的目标图表是其他类型(比如堆叠柱形、分组柱形),只需要调整对应的绘制逻辑:

  • 堆叠柱形:给ax1.bar添加bottom参数,指定下层柱子的数值
  • 分组柱形:调整柱子宽度,给不同组的柱子设置偏移量

内容的提问来源于stack exchange,提问作者DaoDao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 01:10:26