首页 > 解决方案 > 带有密度指示的 Pandas 散点图

问题描述

如何创建散点图来显示点的密集程度?例如,给定

import pandas as pd
import numpy as np
import itertools
df_flat = pd.DataFrame(itertools.product(range(100),repeat=2),
                       columns=["x","y"])/100
df_corr = pd.concat([df_flat, pd.DataFrame({
    "x": list(itertools.chain.from_iterable(itertools.repeat(range(100),100))),
    "y": list(itertools.chain.from_iterable(itertools.repeat(range(100),100))),
})/100])
def scatter_plot(df):
    ax = df.plot.scatter(x="x",y="y")
    ax.grid(b=True)
    ax.set_title("Correlation={:.3%}".format(np.corrcoef(df.x,df.y)[0][1]))

scatter_df(df_flat)scatter_df(df_corr)产生几乎相同的图:

在此处输入图像描述

在此处输入图像描述

(唯一的区别是标题)。

如何使图片与众不同,例如,通过使密度更大(对角线周围)的颜色更饱和?

标签: pythonpandasmatplotlibplot

解决方案


推荐阅读