Я пытаюсь воспроизвести этот график - линейный график с блокпостом в каждой точке:
Imgur
Однако линейный график всегда начинается с начала координат, а не с первого тика x:
Imgur
Я собрал свою структуру данных в файле pandas, где каждый заголовок столбца k_e (оси x), а столбец - все точки данных.
Я строю среднее значение для каждого столбца и коробочного графика следующим образом:
df = df.astype(float)
_, ax = plt.subplots()
df.mean().plot(ax = ax)
df.boxplot(showfliers=False, ax=ax)
plt.xlabel(r'$k_{e}$')
plt.ylabel('Test error rate')
plt.title(r'Accuracies with different $k_{e}$')
plt.show()
Я ссылаюсь на ссылку ниже, и поэтому я прохожу позицию «топор», но это не помогает.
сюжетная линия над блокпостом с использованием панд DateFrame
РЕДАКТИРОВАТЬ: Вот минимальный пример:
test_errors_dict = dict ()
np.random.seed (40)
test_errors_dict[2] = np.random.rand(20)
test_errors_dict[3] = np.random.rand(20)
test_errors_dict[5] = np.random.rand(20)
df = pd.DataFrame(data=test_errors_dict)
df = df.astype(float)
_, ax = plt.subplots()
df.mean().plot(ax=ax)
df.boxplot(showfliers=False, ax=ax)
plt.show()
Результат:
Imgur
Как показано выше, линейные графики не совпадают с рамками