Matplotlib X Axis оставляет одно имя - PullRequest
0 голосов
/ 09 июня 2018

Я использую два списка, чтобы заполнить простой линейный сюжет в matplotlib:

Ось X = результаты [] и ось Y = имена []

Вот что содержит «имена»:['RF', 'GBR', 'KNN', 'CART', 'SVM', 'NN', 'ADA']

и вот что содержит "результаты":

[+0,8941514126644701, +0,8821308167746561, +0,7864150401953114, +0,812054320544109, +0,14266745822021032, +0,7439163675782782, +0,7350927779887548]

1010 * Im используя простой макет участка следующим образом:
fig = plt.figure(figsize=(9,6))
fig.suptitle('Algorithm Comparison')
ax = fig.add_subplot(111)
plt.plot(results)
ax.set_xticklabels(names)
plt.show()

, но мой участок коротка одним элементомсписок;вот как это выглядит:

enter image description here

что мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Вы не можете установить метки без установки галочек.Либо вы указываете оба или ни одного.

fig = plt.figure(figsize=(9,6))
fig.suptitle('Algorithm Comparison')
ax = fig.add_subplot(111)
plt.plot(results)
ax.set_xticks(list(range(len(results))))
ax.set_xticklabels(names)
plt.show()

Или

fig = plt.figure(figsize=(9,6))
fig.suptitle('Algorithm Comparison')
ax = fig.add_subplot(111)
plt.plot(names, results)
plt.show()
0 голосов
/ 09 июня 2018

Вызов ax.get_xticks() говорит нам, что matplotlib показывает тики в следующих местах:

[-1.  0.  1.  2.  3.  4.  5.  6.  7.]

Это означает, что первая метка появляется в -1 на горизонтальной оси, с левой стороны отдиаграмма.Добавьте следующую строку после вызова к plot, чтобы установить расположение галочек и сделать метки выровненными:

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