尝试平均字典中每个键的值后,无法正确绘制图形

2024-06-07 03:48:24 发布

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

我试图平均出键中的值,并将它们放入列表中。然而,当我试图将这些值放到一个图表中时,它只会给我带来很多错误

import numpy as np
import matplotlib.pyplot as plt

academic = {"Jane": [75, 80, 85, 60],
            "John": [60, 68, 74, 80],
            "Jerome": [81, 63, 77, 50],
            "Jason": [55, 76, 67, 60],
            "Jessica": [62, 45, 68, 55],
            "Joanne": [52, 47, 51, 70]}
for result in academic:
    average = round((academic[result][0]+academic[result][1]+academic[result][2]+academic[result][3])/4)
    academic[result] = average
    y = np.arange(len(academic))
    x = list(academic.values())
    plt.bar(x, y)
    plt.bar(x, y, align='center')
    plt.xticks(x, academic)
    plt.show()

Tags: importnumpy列表matplotlibas错误np图表
1条回答
网友
1楼 · 发布于 2024-06-07 03:48:24

你的缩进是错的,就像斯蒂芬·劳赫说的,但我认为你也把xy混淆了。把它们换过来对我来说更有意义

import numpy as np
import matplotlib.pyplot as plt

academic = {"Jane": [75, 80, 85, 60],
            "John": [60, 68, 74, 80],
            "Jerome": [81, 63, 77, 50],
            "Jason": [55, 76, 67, 60],
            "Jessica": [62, 45, 68, 55],
            "Joanne": [52, 47, 51, 70]}
for result in academic:
    average = round((academic[result][0]+academic[result][1]+academic[result][2]+academic[result][3])/4)
    academic[result] = average
x = np.arange(len(academic))
y = list(academic.values())
plt.bar(x, y, align='center')
plt.xticks(x, academic)
plt.show()

Plot

相关问题 更多 >