一个不完全成熟的小想法--密度散点图

2020-09-15 12:20:29 浏览数 (1)

这种密度散点图可谓是高大上了,其实做法也不难,甚至可以做的更好看,这个图的配色一看就知道是R做的,我摒弃R,用python来一发!!!

缺乏数据的我自然就只会用np.random咯,废话不多,直接上干货。。。

import numpy as np

import matplotlib.pyplot as plt

from scipy.stats import gaussian_kde

import pylab

from sklearn import linear_model

x = np.random.normal(size=1000)

y = x * 3 np.random.normal(size=1000)

xy = np.vstack([x,y])

z = gaussian_kde(xy)(xy)

c=np.column_stack((x,y))

fig, ax = plt.subplots()

f1 = np.polyfit(x, y, 1)

p1 = np.poly1d(f1)

yvals = p1(x)

plot2 = plt.plot(x, yvals, 'r',label='polyfit values')

plt.text(-3,5,'r=0.9468')

#model=linear_model.LinearRegression()

#p=model.fit(c,y)

ax.scatter(x, y, c=z, s=100, edgecolor='')

plt.show()

最后的线性回归里,我还尝试用过sklearn的线性回归,不可谓不酸爽。。。

最后出图:

。。。。

其他一些莫名其妙的细节就不解释了。。。反正也是写给自己看的。。。。这次选择的配色还有线条,也是比较随意,不难展示出matplotlib的强大,我记得它自带的配色有100多种吧,另外plot类下的函数也有100多种,作图已经够用了,如果还是嫌不够,我也没办法咯

0 人点赞