分析特征间的关系:点线之间的爱恨情仇

在Python中,散点图和折线图是数据分析最常用的两种图形。这两种图形都能够分析不同数值型特征间的关系。

1.散点图

1.1散点图函数

在pyplot中可以使用scatter函数绘制散点图,其使用格式如下。

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)

函数常用参数及其说明如下表所示。

参数名称说明x ,y接收array,表示x轴和y轴对应的数据。无默认值s接收数值或一维的array。表示指定点的大小,若传入一维array则表示每个点的大小。无默认值c接收颜色或一维的array。表示指定点的颜色,若传入一维array则表示每个点的颜色。无默认值marker接收特定str,表示绘制的点的类型。alpha接收0~1的float,表示点的透明度。

2.折线图

2.1折线图函数

在pyplot中可以使用plot函数绘制折线图,其基本使用格式如下。

matplotlib.pyplot.plot(args, *kwargs)

plot函数在官方文档的语法中只要求填入不定长参数,实际可以填入的主要参数如表所示

参数名称说明x,y接收array,表示x轴和y轴对应的数据。color接收array,表示x轴和y轴对应的数据。linestyle接收特定str,表示指定线条类型。默认为”-“marker接收特定str,表示绘制的点的类型。alpha接收0~1的float,表示点的透明度。

color参数的8种常用颜色的缩写如表所示。

颜色缩写代表的颜色b蓝色g绿色r红色c青色m品红y黄色k黑色w白色

plot函数一次可以接收多组数据,添加多条折线图,同时还可以分别定义每条折线的颜色、点的形状和类型,将折线的颜色、点的形状和类型连接在一起用一个字符串表示。

3.散点图与折线图的绘制

3.1散点图绘制

拿以下数据进行分析

分析特征间的关系:点线之间的爱恨情仇
分析步骤:首先读取表数据,提取其中的columns字段,视为数据的标签,提取其中的values字段,数据的存在位置,设置画布,绘制散点图,添加横轴标签(年份),添加y轴名称(年末总人口(万人)), 添加图表标题(2000-2019年年末总人口散点图),这里以散点图为例
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] =' SimHei'
plt.rcParams['axes.unicode_minus'] = False
data = pd.read_csv('../data/people.csv')
name = data.columns
values = data.values
plt.figure(figsize=(9, 7))
plt.scatter(values[:, 0], values[:, 1], marker='o')
plt.xlabel('年份')
plt.ylabel('年末总人口(万人)')
plt.xticks(range(0, 20), values[range(0, 20), 0], rotation=45)
plt.title('2000-2019年年末总人口散点图')
plt.savefig('../tmp/2000-2019年年末总人口散点图.png')
plt.show()

分析特征间的关系:点线之间的爱恨情仇
plt.figure(figsize=(9, 7))
plt.scatter(values[:, 0], values[:, 2], marker='o',c='red')
plt.scatter(values[:, 0], values[:, 3], marker='D',c='blue')
plt.scatter(values[:, 0], values[:, 4], marker='v',c='black')
plt.xlabel('年份')
plt.ylabel('年末总人口(万人)')
plt.xticks(range(0, 20), values[range(0, 20), 0], rotation=45)
plt.title('2000-2019年各年龄段年末总人口散点图')
plt.legend(['0-14岁人口', '15-64岁人口', '65岁及以上人口'])
plt.savefig('../tmp/2000-2019年各年龄段年末总人口散点图.png')
plt.show()

分析特征间的关系:点线之间的爱恨情仇

3.2折线图绘制

plt.figure(figsize=(9, 7))
plt.plot(values[:, 0], values[:, 1], color='r', linestyle='--')
plt.xlabel('年份')
plt.ylabel('年末总人口(万人)')
plt.xticks(range(0, 20), values[range(0, 20), 0], rotation=45)
plt.title('2000-2019年年末总人口折线图')
plt.savefig('../tmp/2000-2019年年末总人口折线图.png')
plt.show()

分析特征间的关系:点线之间的爱恨情仇

3.3点线图:点线融合

plt.figure(figsize=(9, 7))
plt.plot(values[:, 0], values[:,1], color='r', linestyle='--', marker='o')
plt.xlabel('年份')
plt.ylabel('年末总人口(万人)')
plt.xticks(range(0, 20), values[range(0, 20), 0], rotation=45)
plt.title('2000-2019年年末总人口点线图')
plt.savefig('../tmp/2000-2019年年末总人口点线图.png')
plt.show()

分析特征间的关系:点线之间的爱恨情仇
plt.figure(figsize=(8, 7))
plt.plot(values[:, 0], values[:, 2], 'bs-',
       values[:, 0], values[:,3], 'ro-.',
       values[:, 0], values[:, 4], 'gH--')
plt.xlabel('年份')
plt.ylabel('年末总人口(万人)')
plt.xticks(range(0, 20), values[range(0, 20), 0], rotation=45)
plt.title('2000-2019年各年龄段总人口点线图')
plt.legend(['0-14岁人口', '15-64岁人口', '65岁及以上人口'])
plt.savefig('../tmp/2000-2019年各年龄段总人口点线图.png')
plt.show()

分析特征间的关系:点线之间的爱恨情仇

Original: https://blog.csdn.net/liyujiederizhi/article/details/126488004
Author: 玉志刚洁
Title: 分析特征间的关系:点线之间的爱恨情仇

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/769942/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球