Заголовок, галочка, метки оси, ничего не отображается в matplotlib - PullRequest
0 голосов
/ 04 мая 2020

Это мой код:

import numpy as np
import matplotlib.pyplot as plt

def plot_graph():
  fig = plt.figure()
  data = [[top3_empsearch, top5_empsearch, top7_empsearch], [top3_elastic, top5_elastic, top7_elastic]]
  X = np.arange(3)
  ax = fig.add_axes([0, 0, 1, 1])
  ax.bar(X + 0.00, data[0], color='b', width=0.25)
  ax.bar(X + 0.25, data[1], color='g', width=0.25)
  ax.set_ylabel('Accuracy (in %)')
  plt.title('Percentage accuracy for selected result in Top-3, Top-5, Top-7 in employee search vs elastic search')
  plt.yticks(np.arange(0, 101, 10))
  colors = {'empsearch':'blue', 'elastic':'green'}
  labels = list(colors.keys())
  handles = [plt.Rectangle((0,0),1,1, color=colors[label]) for label in labels]

  plt.legend(handles, labels)
  plt.style.use('dark_background')
  plt.show()

plot_graph()

Результат этого кода -> enter image description here

Нет тиков, нет меток, нет заголовка, ничего не виден и я сбит с толку. Буду признателен за помощь.

1 Ответ

0 голосов
/ 04 мая 2020

Единственная проблема в этой строке:

ax = fig.add_axes([0, 0, 1, 1])

Глядя на библиографию (https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.figure.Figure.html), вы увидите, что первый параметр функции add_axes () это " «прямоугольник», который относится к размерам [слева, снизу, ширине, высоте] новых осей, все количество ie в долях от ширины и высоты фигуры. Таким образом, в вашем коде вы даете в точности размеры фигуры, поэтому заголовок, метки, метки ... есть, но скрыты. Таким образом, вы должны оставить некоторое пространство, немного уменьшив размеры сюжета. Вы можете сделать это, просто изменив:

ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])

В качестве альтернативы вы можете заменить эту строку на:

ax = fig.add_subplot(1,1,1) 

, и результат должен быть таким же.

Здесь мой результат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...