<jupyter_start><jupyter_text>CorrelationSome plots visualize a transformation of the original data set. Use astat parameter to choose a common transformation to visualize.Each stat creates additional variables to map aesthetics to. Thesevariables use a common ..name.. syntax.Look at the examples below.<jupyter_code>import pandas as pd

from lets_plot import *
from lets_plot.bistro.corr import *
LetsPlot.setup_html()
df = pd.read_csv('https://raw.githubusercontent.com/JetBrains/lets-plot-docs/master/data/mpg.csv')
p1 = corr_plot(df, flip=False).points().build() + ggtitle('geom="corr_plot" + default stat')
p2 = ggplot(df) + geom_point(aes(size='..corr_abs..'), stat='corr', shape=21, color='black') + \
                  scale_fill_gradient2(name='Corr', low='#ca0020', mid='#f7f7f7', high='#0571b0') + \
                  scale_size_area(name='', max_size=1) + \
                  coord_fixed() + \
                  ggtitle('geom="point" + stat="corr"') + \
                  theme(axis_title='blank')

w, h = 400, 300
bunch = GGBunch()
bunch.add_plot(p1, 0, 0, w, h)
bunch.add_plot(p2, w, 0, w, h)
bunch<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14448336252189142, 'fraction_numerical': 0.025394045534150613, 'mean_word_length': 3.7625, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '339560', 'license': 'MIT', 'n_tokens_mistral': 421, 'n_tokens_neox': 384, 'n_words': 89, 'path': 'docs/_downloads/b5579223f3f2df697b33e69eb017cce7/plot__correlation.ipynb', 'repo_name': 'IKupriyanov-HORIS/lets-plot-docs', 'size': '1142'}