什么是散点图
散点图非常适合展示两个变量之间的关系,可以直接看到数据的原始分布。 如图(a)所示的,通过对组进行简单地颜色编码(或者形状编码)来查看不同组数据的关系。要可视化第三个变量,仅需使用另一个参数(如点大小)就可以,如图(b)所示。有时我们也可称之为“气泡图”,每个点对应的第三个值用一个气泡的大小来表示。
(a)基本散点图 (b)气泡图
散点图(scatter)将序列显示为一组点。值由点在图表中的位置表示。利用散点(坐标点)的分布形态反映变量统计关系的一种图形。还可以由图表中的不同标记表示类别。它通常用于比较跨类别的聚合数据。
任务2:使用散点图展现温州市区不同行政划区房产租赁面积与价格的关系。
def plot_scatter(): plt.figure() colors = ['red', 'blue', 'green'] district = ['鹿城', '龙湾', '瓯海'] markers = ['o', 's', 'v'] for i in range(3): x = house.loc[house['district'] == district[i]]['mj'] y = house.loc[house['district'] == district[i]]['price'] plt.scatter(x, y, c=colors[i], s=20, label=district[i], marker=markers[i]) plt.legend() plt.xlim(20, 300) plt.ylim(0, 10000) plt.title('温州各行政区内面积对租赁价格的影响(散点图)', fontsize=20) plt.xlabel('面积(平方米)', fontsize=16) plt.ylabel('房屋租赁价格(元/套)', fontsize=16) plt.show() plot_scatter() |
def plot_scatter(): fig, ax = plt.subplots(figsize=(9, 7)) district = ['鹿城', '龙湾', '瓯海'] # 定义气泡形状 markers = ['o', 's', 'v'] # 定义气泡颜色 cms = [pltNaN.get_cmap('Greens'),pltNaN.get_cmap('Blues'),pltNaN.get_cmap('Reds')] disLen = len(district) n = 2 for i in range(disLen): x = house.loc[house['district'] == district[i]]['mj'] y = house.loc[house['district'] == district[i]]['fj'] z = house.loc[house['district'] == district[i]]['price'] size = z.rank() bubble = ax.scatter(x, y, s=n*size, c=z, label = district[i], marker = markers[i], cmap=cms[i], linewidth=0.5, alpha=0.5) if i == 0: plt.xlim(20, 250) plt.ylim(0, 5) plt.title('面积、房间数对租赁价格的影响(气泡图)', fontsize=20) plt.xlabel('面积(平方米)', fontsize=16) plt.ylabel('房间数', fontsize=16) # 画出颜色条 plt.colorbar(bubble,cax=plt.axes([0.95 + i * 0.1, 0.13, 0.02, 0.78])) # 写入颜色的标签 fig.text(0.95 + i * 0.1, 0.09,district[i]) plt.show() plot_scatter() |
![](https://p.ananas.chaoxing.com/star3/origin/8c1f23f634878fc25af73e45c1a784de.png)