数据来源见下图(注意要设置随机种子为42。) import pandas as pd import numpy as np import seaborn as s sns import matplotlib.pyplot as plt np.random.seed(42 N=5000 x np.random.normal(2,1,N) y np.random.normal(2,1,N) df=pd.DataFrame({'x':x,'y':y}) 2)绘制与下面的样图相同的数据图(矩形表示的二维统计直方图。X轴是由-4到8,间距2,Y轴一样。) 数据变多很多,颜色从蓝一直到红,而且中间的那些颜色方块例如浅绿,黄色和橙色也要显现
时间: 2024-03-02 08:48:15 浏览: 178
要绘制与样图相同的矩形表示的二维统计直方图,可以使用seaborn库的heatmap()函数。以下是一个样例代码:
```python
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
np.random.seed(42)
N = 5000
x = np.random.normal(2, 1, N)
y = np.random.normal(2, 1, N)
df = pd.DataFrame({'x':x, 'y':y})
# 绘制二维统计直方图
sns.set_style('white')
plt.hist2d(x, y, bins=[np.arange(-4, 10, 2), np.arange(-4, 10, 2)], cmap='YlOrBr')
# 添加颜色条
cbar = plt.colorbar()
cbar.ax.set_ylabel('Counts', rotation=270)
# 添加标题和轴标签
plt.title('2D Histogram')
plt.xlabel('X')
plt.ylabel('Y')
# 显示图形
plt.show()
```
在上面的代码中,我们使用seaborn库的set_style()函数将样式设置为白色,并使用hist2d()函数绘制了二维统计直方图。我们设置了bins参数为两个长度为7的数组,这意味着我们将X和Y轴分别分成7个等宽的区间,并使用YlOrBr颜色映射来显示直方图。同时,我们使用colorbar()函数添加了颜色条,以显示数据的数量。
最后,我们添加了标题和轴标签,并使用show()函数显示图形。
阅读全文