легенды, повторяющие sns heatmap после прохождения Func Animation - PullRequest
0 голосов
/ 25 мая 2019

Мой код ниже работает хорошо. Единственная проблема - через каждые n секунд (так как я использую func Animation). Он повторяет легенды HeatMap, чего я и не ожидал. Любое решение.

См. Таблицу ниже, где полоса легенды Heatmap повторяется, а цифра уменьшается.

Figure1

Пока мой код:

from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome()
import csv
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import matplotlib as mpl
from NumTOWord import numberToText, spellNumber
import numpy as np
from datetime import datetime
import matplotlib as mpl
import seaborn as sns
import matplotlib.ticker as ticker

### main Df name is OI_df

fig = plt.figure()
ax1 = fig.add_subplot(1, 1, 1)

plt.style.use('seaborn-paper')  # switch to seaborn style  seaborn-paper, seaborn tick


def animate(i):

    startTime = datetime.now()
    url = 'url'
    driver.get(url)

    html = driver.page_source

    soup = BeautifulSoup(html, 'html.parser')

    table = soup.findAll('table', {'id': 'someid'})

    for trs in table:
        rows = trs.findAll('tr')
        xs = []
        ys = []
        datarowList = []  # M1 Start classic expample of making df from multiple list
        for row in rows[2:-1]:
            datarowList.append(Num_DatRows)
            OI_df = pd.DataFrame(datarowList, columns=headers)

            OI_df.to_csv('out.csv')

        x = OI_df['OI_ce'].values

        y = OI_df['LTP_ce'].values

        # ax1.plot(x,y) # Call
        # ax1.matshow(OI_df.corr())

        ax1.clear()
        corr = OI_df.corr()
        sns.heatmap(corr, xticklabels=corr.columns.values,
                    yticklabels=corr.columns.values, ax=ax1)


        # sns.pairplot(OI_df)
        # sns.pairplot(df, vars=[columns_names])

ani = animation.FuncAnimation(fig, animate, interval=1000)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...