Как аннотировать в 2 десятичных знака с помощью Matplotlib - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь создать тепловую карту, отображающую значения коэффициента корреляции. Я довольно новичок в этом, но код ниже будет аннотировать в нескольких десятичных разрядах, в то время как я пытаюсь сузить до 2 dp

У кого-нибудь есть опыт с этим?

import pandas_datareader.data as web
import pandas as pd
import datetime as dt
import csv
import matplotlib.pyplot as plt
from matplotlib import style
import numpy as np
import seaborn as sns


style.use('ggplot')

def visualize_data():
    df = pd.read_csv('sti_joined.csv')
    df.set_index('Date', inplace=True)
    df_corr = df.pct_change().corr()

    print(df_corr.head())

    data = df_corr.values
    fig = plt.figure()
    ax = fig.add_subplot(1,1,1)

    # heatmap = ax.pcolor(data, cmap=plt.cm.get_cmap('RdYlGn'))
    heatmap = ax.pcolor(data, cmap=plt.cm.RdYlGn)
    fig.colorbar(heatmap)
    ax.set_xticks(np.arange(data.shape[0]) + 0.5, minor=False)
    ax.set_yticks(np.arange(data.shape[1]) + 0.5, minor=False)
    ax.invert_yaxis()
    ax.xaxis.tick_top()

    for y in range(data.shape[0]):
        for x in range(data.shape[1]):
            plt.text(x + 0.5, y + 0.5, '%.4f' % data[y, x],
                     horizontalalignment='center',
                     verticalalignment='center',
                     )

    column_labels = df_corr.columns
    row_labels = df_corr.index

    ax.set_xticklabels(column_labels)
    ax.set_yticklabels(row_labels)
    plt.xticks(rotation=90)
    heatmap.set_clim(-1,1)
    plt.tight_layout()
    plt.show()

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