Matplot lib不会绘制字典中的所有值

2024-06-16 10:33:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python和matplotlib制作一个图形。图表运行良好,下面是它的图片。你知道吗

My Graph

然而,我很难在上面绘制第二组数据。我只想绘制垂直线对应于一个字典的值,我称之为“F\u type”,它包含15个条目。我尝试使用以下代码:

F_type = {'CaII': 3933.70, 'CaII': 3968.50, 'H': 3970.10, 'H': 4101.70, 'HeI': 4121.00, 'SiII': 4128.00, 'SiII': 4131.00, 'CaI': 4227.00, 'FeI': 4299.00, 'FeI': 4303.00, 'H': 4340.50, 'CH': 4314.00, 'MgII': 4481.00, 'H': 4861.30, 'H': 6562.70}

for keys, values in F_type.items():
    plt.axvline(x=values)

但是,结果图仅显示15个值中的8个。你知道吗

It looks like this

为什么matplotlib没有绘制字典中的所有值?你知道吗


Tags: 数据图形字典matplotlibmytype图表绘制
1条回答
网友
1楼 · 发布于 2024-06-16 10:33:20

Python不允许键完全相同。你知道吗

例如:

>>> d = {'a': 0, 'a': 1, 'b': 0}
>>> d
{'a': 1, 'b': 0}

所以当你建立字典的时候,你实际上丢失了一些信息。因此,仅从这本词典中进行绘图是不可能的(因为信息不存在)。你知道吗

好像你在用字典键来分类。在这种情况下,元组列表可能更有意义:

F_type = [('CaII', 3933.70), ('CaII', 3968.50), etc, etc]
for val in F_type:
    plt.axvline(x=val[1])

相关问题 更多 >