Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pandas scatter matrix display correlation coefficient

I've tried to find a way to display correlation coefficients in the lower or upper tri of a pandas scatter matrix - can someone point me in the right direction? Thank you.

like image 513
Chuck Avatar asked Jan 04 '15 18:01

Chuck


1 Answers

A working minimal example

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from pandas.plotting import scatter_matrix
df = pd.DataFrame(np.random.randn(100, 4), columns=['a', 'b', 'c', 'd'])
axes = scatter_matrix(df, alpha=0.5, diagonal='kde')
corr = df.corr().to_numpy()
for i, j in zip(*plt.np.triu_indices_from(axes, k=1)):
    axes[i, j].annotate("%.3f" %corr[i,j], (0.8, 0.8), xycoords='axes fraction', ha='center', va='center')
plt.show()

http://i.stack.imgur.com/apXPu.png

like image 141
Ohjeah Avatar answered Sep 27 '22 23:09

Ohjeah