Графически повторяющиеся графики каждый раз, когда я запрашиваю график, даже когда меняю данные - PullRequest
0 голосов
/ 06 января 2019

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

Я пытаюсь получить данные из некоторых файлов БД и создать из них трехмерную гистограмму. Он работает нормально, но когда я пытаюсь запустить линию графика несколько раз, он строит один и тот же график каждый раз, даже когда я меняю данные на график.

Это код (я упростил его, так что мне не нужно публиковать 500 строк, но ошибка та же, и это часть, которая делает ошибку, я думаю, что другая часть не вызывает никаких проблем).

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

Если в любом случае вы могли бы знать, что вызывает это с кодом, это было бы здорово!

import sqlite3
import pandas as pd
import plotly.offline as py

class MultiFT:
'''
    name1 --> First nominal variable
    name2 --> Second nominal variable
    var1 --> First continuous variable
    var2 --> Second continuous variable
    All of them being strings
'''
def __init__(self, name1, name2, var1, var2):
    self.com = None
    self.name1 = name1
    self.name2 = name2
    self.var1 = var1
    self.var2 = var2

    # Get close and variation for each company


 conn1 = sqlite3.Connection('stock_prices_yahoo_test/' + self.name1 + '.db')
    conn2 = sqlite3.Connection('stock_prices_yahoo_test/' + self.name2 + '.db')
    self.com1 = pd.read_sql("SELECT " + self.var1 + ", " + self.var2 + " FROM " + self.name1, con = conn1)
    self.com2 = pd.read_sql("SELECT " + self.var1 + ", " + self.var2 + " FROM " + self.name2, con = conn2)

def threeD_hist(self, frame, y = None):
    traces = []
    x = frame.iloc[:, 0]
    x = x.values
    # There might be a bug or something but I had to hardcode the y axis
    y = ['[0.0, 0.67)', '[0.67, 1.33)', '[1.33, 2.0)', '[2.0, 2.66)', '[2.66, 3.33)',
            '[3.33, 3.99)', '[3.99, 4.66)', '[4.66, 5.32)', '[5.32, 5.99]']
    z = frame.iloc[1:, 1:]
    z = z.values

    traces.append(dict(
            z = z,
            x = x,
            y = y,
            type = 'surface'
        ))

    fig = { 'data':traces, 'layout':{'title': 'Histograma 3D de la FT `de Apple'}}`
    py.plot(fig, filename = '_3D_hist.html')

def get_data_from_db(self, db, table):
    conn = sqlite3.Connection('stock_prices_yahoo_test/' + db + '.db')
    dat = pd.read_sql("SELECT * FROM " + table, con = conn)
    return dat


k = MultiFT('AAPL', 'BTC_EUR', 'Close', 'PerVar')


frame1 = k.get_data_from_db('_multiFT', 'multiFT_AAPL')
k.threeD_hist(frame1)

# This is where things get dirty
frame2 = k.get_data_from_db('_multiFT', 'multiFT_AAPL_ranged')
k.threeD_hist(frame2)

И это ошибка, которую я получаю, хотя она не похожа ни на что, что я видел раньше, и не могу найти в интернете ничего, что можно исправить.

/usr/bin/xdg-open: line 881: x-www-browser: command not found
/usr/bin/xdg-open: line 881: x-www-browser: command not 
foun[verdi07@localhost practica2]$ Created new window in e[verdi07@localhost practica2]$ [Parent 18369, Gecko_IOThread] 
WARNING: pipe error (107): Connection reset by peer: file 
/builddir/build/BUILD/firefox- 
64.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 363
[Parent 18369, Gecko_IOThread] WARNING: pipe error (73): Connection 
reset by peer: file /builddir/build/BUILD/firefox- 
64.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 363

Ваше внимание очень ценится:)

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