галочки и метки правой оси y ax.twinx (). twiny () не удаляются - PullRequest
0 голосов
/ 16 февраля 2019

Мне нужно объединить график с большим количеством данных, который занимает несколько секунд, и объединить его с графиком с очень небольшим количеством данных, который отображается в той же системе координат, что и предыдущий график.Последний построен в интерактивном режиме.В следующем MWE интерактивная часть моделируется циклом.

Моя проблема заключается в том, что когда я клонирую исходные оси с помощью twinx().twiny(), я не могу избавиться от тиков для обеих осей объекта скрученных осей.

import numpy as np
import matplotlib.pyplot as plt
from random import choice
from time import sleep
%matplotlib notebook


data = np.random.rand(100,2)*10

fig, ax1 = plt.subplots(1, 1)
ax1.scatter(data[:,0], data[:,1])
ax2 = ax1.twinx().twiny()

ax2.set_xlim(ax1.get_xlim())
ax2.set_ylim(ax1.get_ylim())
ax2.tick_params(top=False, labeltop=False, left=False, labelleft=False, right=False, labelright=False, bottom=False, labelbottom=False)

for i in range(10):
    try:
        sc.remove()
    except:
        pass
    p = choice(data)
    sc = ax2.scatter(p[0], p[1], s=10, color='red')
    fig.canvas.draw()
    sleep(.5)

plt.show()

Так что ax2.tick_params(top=False, labeltop=False, left=False, labelleft=False, right=False, labelright=False, bottom=False, labelbottom=False) следует избавиться от всяких галочек и ярлыков, верно?Но это не так.График выглядит следующим образом:

enter image description here

Правая ось Y не должна быть там, не так ли?Это ошибка или я что-то упустил?

1 Ответ

0 голосов
/ 02 апреля 2019

Ваше решение сработало на моем коде (ниже), и я просто вызвал параметры перед фактическим графиком.

ax2 = axes[ax].twiny()
ax2.tick_params(top=False, labeltop=False, left=False, labelleft=False, right=False, labelright=False, bottom=False, labelbottom=False)
ax2.plot(x, vals[ax], color = 'black')

Вы, вероятно, сможете заставить его работать, если выясните расположение линии.

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