1

我创建了以下图表:

在此处输入图像描述

使用以下代码:

def plot_exercises_scores(exercise_list, scores, semester_id):
    print (exercise_list)
    plt.bar(exercise_list, scores, color='orange')
    plt.title("Exercise scores for " + semester_id, fontsize=20)
    plt.xlabel("exercise number", fontsize=16 )
    plt.ylabel("score", fontsize=16)
    plt.ylim(0, 100)
    plt.show()

查看 x 轴 - 它显示值 0.75、1.25、1.75、2.25 上的条形图,而它们甚至不存在于exercise_list. exercise_list = [1 2]

知道我错过了什么吗?

4

1 回答 1

0

据我所知,pyplot 总是这样,但是通过使用在这里找到的解决方案,我做了这样的事情:

在此处输入图像描述

如果这是您想要的,那么这里是完整的代码:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker


def plot_exercises_scores(exercise_list, scores, semester_id):
    fig, ax = plt.subplots()

    # Be sure to only pick integer tick locations.
    for axis in [ax.xaxis, ax.yaxis]:
        axis.set_major_locator(ticker.MaxNLocator(integer=True))

    plt.bar(exercise_list, scores, color='orange')
    plt.title("Exercise scores for " + semester_id, fontsize=20)
    plt.xlabel("exercise number", fontsize=16)
    plt.ylabel("score", fontsize=16)
    plt.ylim(0, 100)
    plt.show()

    fig.tight_layout()


plot_exercises_scores([1, 2], [90, 85], "2018/2019a")
于 2020-06-28T20:08:08.047 回答