Добавьте две созданные фигуры на панель управления plotly - PullRequest
0 голосов
/ 18 июня 2020

У меня есть две фигуры, созданные с помощью plotly, созданные в их собственных функциях, чтобы c логики были организованы. Я знаю, что с помощью plotly вы можете добавлять фигуры в подзаголовок, генерируя их в функции .add_trace (), но вместо этого я хочу добавить две свои заранее созданные фигуры. Есть ли способ сделать это или мне нужно работать с logi c двух моих функций, которые создают свои фигуры в функции .add_trace ()?

Это мои две функции, которые делают мои две фигуры :

def bar_chart_sentiment(negative, mixed, neutral, positive):
    x = ["negative", "mixed", "neutral", "positive"]
    y = [negative, mixed, neutral, positive]

    sentiment_chart = go.Figure(data=[go.Bar(
        x=x, y=y,
        hovertext=[f'{((negative / 25) * 100)}%', f'{((mixed / 25) * 100)}%', f'{((neutral / 25) * 100)}%',
                   f'{((positive / 25) * 100)}%'],
        textposition='auto',
    )])

    sentiment_chart.update_traces(marker_color='rgb(158,202,225)', marker_line_color='rgb(8,48,107)',
                      marker_line_width=1.5, opacity=0.6)

    sentiment_chart.update_layout(
        title="Sentiment of r/wallstreetbets",
        xaxis_title="Sentiment",
        yaxis_title="Amount",
        font=dict(
            family="Courier New, monospace",
            size=18,
            color="#7f7f7f"
        )
    )

    return sentiment_chart


def bar_chart_entities(content):
    nltk.download('punkt')
    nltk.download('stopwords')

    tokenized_word = word_tokenize(content)
    stop_words = set(stopwords.words("english"))
    filtered_sent = []

    for w in tokenized_word:
        if w not in stop_words:
            filtered_sent.append(w)
    fdist = FreqDist(filtered_sent)
    fd = pd.DataFrame(fdist.most_common(10), columns=["Word", "Frequency"]).drop([0]).reindex()

    entities_chart = px.bar(fd, x="Word", y="Frequency")
    entities_chart.update_traces(marker_color='rgb(158,202,225)', marker_line_color='rgb(8,48,107)',
                      marker_line_width=1.5, opacity=0.6)


    entities_chart.update_layout(
        title="Top 10 Words of r/wallstreetbets",
        font=dict(
            size=18,
            color="#7f7f7f"
        )
    )

    return entities_chart



def dashboard(sentiment_chart, entities_chart):
    # Here is where the subplot should be made and my two pre-made charts added to the subplot

...