You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何绘制日期与字母等级的折线图?

如何绘制日期与字母等级的折线图?

我太懂你这种困扰了——本来用整数做折线图顺得很,换成字母等级就卡壳了,毕竟图表工具默认把字母当普通文本,根本认不出它们的「进步逻辑」。下面给你几个实操性拉满的办法,不管你用Excel、Google Sheets还是其他常用表格工具都能用:

方法一:给字母等级配隐藏的数值辅助列(最推荐!)

这是最稳妥的方案,既能让图表正确识别趋势,又能在最终图表上显示字母等级:

  • 第一步:新增辅助列,给每个字母等级映射数值。比如按你的规则(A最好,E最差),设置 A=5,B=4,C=3,D=2,E=1
  • 第二步:调整你的数据结构,把数值列和字母列对应放好(数值列后面可以隐藏,不影响显示):
日期Module1数值Module1等级Module2数值Module2等级Module3数值Module3等级
01.06.20241E2D3C
01.07.20241E2D3C
01.08.20243C4B5A
01.08.20243C5A5A
  • 第三步:选中日期列 + 所有数值辅助列创建折线图,这时候折线会完美呈现每个模块的进步趋势
  • 第四步:把Y轴的数值换成字母等级。以Excel为例:右键点击Y轴 → 「设置坐标轴格式」 → 切换到「数字」选项卡 → 选择「自定义」,输入格式代码 [=5]"A";[=4]"B";[=3]"C";[=2]"D";[=1]"E",确定后Y轴就会显示字母啦!

方法二:手动设置字母的排序规则(适合轻量需求)

如果不想加辅助列,部分工具支持手动定义文本类别的排序逻辑:

  • 先按你原来的方式选中字母数据创建折线图,这时候Y轴的字母排序可能混乱
  • 找到图表的「数据设置」或「坐标轴设置」选项,找到Y轴的类别排序,手动把顺序设为 E、D、C、B、A(对应从差到好的逻辑)
  • 不过要注意:有些工具里文本类别的折线图可能会出现断点,或者无法正确识别连续趋势,所以这个方法更适合临时快速做图

方法三:Excel专属自定义序列技巧

要是你用的是Excel,可以先给字母等级设置专属排序序列:

  • 点击「文件」→「选项」→「高级」→ 拉到最下面找到「编辑自定义列表」,输入 E,D,C,B,A 后点击添加保存
  • 选中你的字母等级列,右键→「排序」→「自定义排序」,选择你刚创建的序列,把字母按逻辑排序
  • 再创建折线图,Excel就会按照你定义的序列识别字母的权重,不过还是配合辅助列的方法效果最稳定

小补充:如果用代码绘图(比如Python matplotlib)

要是你用代码生成图表,逻辑也是一样的:先把字母转成数值,绘图后再把Y轴刻度改回字母。举个简单例子:

# 先定义字母和数值的映射
grade_map = {'E': 1, 'D': 2, 'C': 3, 'B': 4, 'A': 5}
# 假设你已经有了日期列表和各模块的等级列表
module1_grades = ['E', 'E', 'C', 'C']
dates = ['01.06.2024', '01.07.2024', '01.08.2024', '01.08.2024']

# 把字母转成数值
y_values = [grade_map[g] for g in module1_grades]

# 绘制折线图
import matplotlib.pyplot as plt
plt.plot(dates, y_values, label='Module 1')
# 把Y轴刻度换成字母
plt.yticks([1,2,3,4,5], ['E', 'D', 'C', 'B', 'A'])
plt.legend()
plt.show()

备注:内容来源于stack exchange,提问作者user3021830

火山引擎 最新活动