matplotlib: Как убрать значения тиков и тиков со второй оси? - PullRequest
2 голосов
/ 21 января 2020

У меня есть этот код для графика, и я не хочу, чтобы значения и метки были на верхней и правой осях.

import matplotlib.pyplot as plt
fig, ax = plt.subplots()


#Set axis labels
ax.set_xlabel('NEGATIVE')
ax.set_ylabel('HAPPY')
ax2 = ax.secondary_xaxis('top')
ax2.set_xlabel('POSITIVE')
ax2 = ax.secondary_yaxis('right')
ax2.set_ylabel('SAD')


#Remove ticks/values
ax.set_yticklabels([])
ax.set_xticklabels([])
ax.set_yticks([])
ax.set_xticks([])
ax2.set_yticklabels([])
ax2.set_xticklabels([])
ax2.set_yticks([])
ax2.set_xticks([])

#Show graph
plt.show()

это выглядит так: изображение графика

Ответы [ 2 ]

3 голосов
/ 21 января 2020

Используйте tick_params для манипулирования галочками и метками оси:

import matplotlib.pyplot as plt
fig, ax1 = plt.subplots()

#Set axis labels
ax1.set_xlabel('NEGATIVE')
ax1.set_ylabel('HAPPY')
ax2 = ax1.secondary_xaxis('top')
ax2.set_xlabel('POSITIVE')
ax3 = ax1.secondary_yaxis('right')
ax3.set_ylabel('SAD')

#Remove ticks/values
for ax in (ax1, ax2, ax3):
    ax.tick_params(left=False, labelleft=False, top=False, labeltop=False,
                   right=False, labelright=False, bottom=False, labelbottom=False)

#Show graph
plt.show()

В комментарии был задан вопрос о том, как отключить только верхние и левые галочки и метки. Это будет

for ax in (ax1, ax2, ax3):
    ax.tick_params(top=False, labeltop=False, right=False, labelright=False)
1 голос
/ 21 января 2020

Интересно, почему SecondaryAxis не принимает тиковые параметры, однако давайте использовать twinx и twiny:

import matplotlib.pyplot as plt
fig, ax = plt.subplots()


#Set axis labels
ax.set_xlabel('NEGATIVE')
ax.set_ylabel('HAPPY')
ax2x = ax.twiny()
ax2.set_yticks([])
ax2x.set_xlabel('POSITIVE')
ax2y = ax.twinx()
ax2y.set_ylabel('SAD')


ax2x.set_xticks([])
ax2y.set_yticks([])
#Show graph
plt.show()

Вывод:

enter image description here

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