在Matplotlib中将dict值用作Xticks

时间:2018-11-27 17:19:27

标签: python matplotlib label

我创建了一个具有5个不同时间点的折线图,每个时间点包含6个不同的值。为了避免误差线重叠,我在每个时间点为每个值创建了一个偏移量,然后添加了该偏移量。

现在时间点的名称已浮动(1-5),但我希望时间点具有诸如“ before”,“ after1”,“ after2”等标签。

我试图分配一个字典,该字典包含原始float作为键,而字符串则作为值(例如{'before':1}。

我被困在如何将字典值作为xticks包括在内。已经尝试过set_xticks(name_dict),但这不起作用。 Xlabel用于整体轴名称。在这里可以选择地图吗?有任何想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

假设您的字典如下:

name_dict = {'before': 1, 'after1': 2, 'after2': 3, 'after3': 3, 'after4': 4}

首先,您需要起诉set_xticks以指定x个刻度的位置

ax.set_xticks(name_dict.values())

第二,使用set_xticklabels在这些位置显示标签

ax.set_xticklabels(name_dict.keys())

答案 1 :(得分:0)

如果值在字典中的顺序相同,则可以使用set_xticks(name_dict.values)。如果它们的顺序错误,则可以使用简单的for循环对其重新排序。