数据分析 — Matplotlib 、Pandas、Seaborn 绘图

这篇具有很好参考价值的文章主要介绍了数据分析 — Matplotlib 、Pandas、Seaborn 绘图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Matplotlib

Matplotlib 是一个用于绘制数据可视化图形的 Python 库。它提供了丰富的绘图工具,可以用于创建各种类型的图表。

安装和导入:

pip install matplotlib

import matplotlib.pyplot as plt # 导入 Matplotlib 库

1、折线图

import numpy as np  # 导入 NumPy 库并使用别名 np
import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库
# 设置画布大小
plt.figure(figsize=(10, 5))
# 设置字体为中文黑体
plt.rcParams['font.family'] = 'SimHei'
# 设置字体大小为 15
plt.rcParams['font.size'] = 15
# 定义 x 和 y 数据
x = [1, 2, 3, 4, 5]  # 星期
y = [25, 27, 22, 30, 32]  # 气温

# 绘制折线图
plt.plot(x, y, marker='D',  # 设置点的形状
         markerfacecolor='gold',  # 设置折点填充颜色
         markersize=10,  # 设置折点大小
         markeredgecolor='red',  # 设置边缘颜色为红色
         color='green',  # 设置折线颜色为绿色
         linewidth=3,  # 设置折线宽度为3
         linestyle=':',  # 设置折线样式为虚线(折线样式:'-', '--', '-.', ':', '')
         label='温度'  # 设置标签为'温度'
        )

# 设置 x 轴刻度标签为中文星期名
tick_labels = ['星期一', '星期二', '星期三', '星期四', '星期五']
plt.xticks(x, tick_labels)

# 设置 y 轴标签
plt.ylabel('气温(℃)')
# 设置 x 轴标签
plt.xlabel('星期')
# 设置图形标题
plt.title("一周的温度变化情况")
# 显示图例
plt.legend()
# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

2、柱状图

import numpy as np  # 导入 NumPy 库并使用别名 np
import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库
import random  # 导入 random 库,用于生成随机数
# 设置画布大小
plt.figure(figsize=(10, 6))
# 设置字体为中文黑体
plt.rcParams['font.family'] = 'SimHei'
# 定义 x 轴的城市名称
x = ['北京市', '上海市', '天津市', '重庆市']
# 生成包含4个随机整数的列表,表示每个城市的数据
y = [random.randint(10000, 14000) for i in range(4)]
# 绘制柱状图,设置柱宽为0.6
plt.bar(x, y, width=0.6)
# 设置 y 轴的取值范围为 [8000, 15000]
plt.ylim([8000, 15000])

# 在每个柱状图上添加数据标签
for i, j in enumerate(y):
    # 打印城市索引和对应的数据值
    print(i, j)
    # 在每个柱状图上方添加文本标签,位置为 (i, j + 100),水平居中对齐
    plt.text(i, j + 100, j, ha='center')

# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

3、水平条形图

import numpy as np  # 导入 NumPy 库并使用别名 np
import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库

# 设置画布大小
plt.figure(figsize=(10, 6))
# 设置字体为中文黑体
plt.rcParams['font.family'] = 'SimHei'
# 定义价格和标签数据
price = [38.8, 40.2, 48.4, 39.9, 32.34]
label = ['亚马逊', '当当网', '中国图书网', '京东', '天猫']
# 绘制水平条形图
plt.barh(label, price)

# 在每个条形图右侧添加数据标签
for i, j in enumerate(price):
    # 在每个条形图右侧添加文本标签,位置为 (j + 0.5, i),垂直居中对齐
    plt.text(j + 0.5, i, j, va='center')

# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

4、直方图

import numpy as np  # 导入 NumPy 库并使用别名 np
import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库

# 设置画布大小
plt.figure(figsize=(10, 6))
# 设置字体为中文黑体
plt.rcParams['font.family'] = 'SimHei'
# 解决坐标轴负号显示问题
plt.rcParams['axes.unicode_minus'] = False
# 生成包含1000个随机数的一维数组
data = np.random.randn(1000)
# 绘制直方图,分成20个箱子,颜色为蓝色,透明度为0.5,添加标签为'直方图'
plt.hist(data, bins=20, color='blue', alpha=0.5, label='直方图')
# 添加图例
plt.legend()
# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

5、散点图

import numpy as np  # 导入 NumPy 库并使用别名 np
import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库

# 设置画布大小
plt.figure(figsize=(8,5))
# 设置字体为中文黑体
plt.rcParams['font.family'] = 'SimHei'
# 定义身高和体重的数据
height = [120, 161, 170, 182, 175, 173, 165, 155, 150, 110]
weight = [38, 45, 58, 80, 90, 59, 55, 45, 40, 30]
# 根据体重生成散点的大小
sizes = [i * 20 for i in weight]
# 生成随机颜色
colors = np.random.rand(len(weight))
# 绘制散点图,设置点的大小、颜色
plt.scatter(height, weight, s=sizes, c=colors)
# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

6、饼图

import numpy as np  # 导入 NumPy 库并使用别名 np
import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库

# 设置画布大小
plt.figure(figsize=(8, 8))
# 设置字体为中文黑体
plt.rcParams['font.family'] = 'SimHei'
# 构造数据
x = [0.2515, 0.3724, 0.3336, 0.0368, 0.0057]
# 定义标签
labels = ['中专', '大专', '本科', '硕士', '其他']

# 绘制饼图
plt.pie(x,  # x 表示设置饼每块的值
        labels=labels,  # 设置标签
        autopct="%1.1f%%",  # 设置成百分比的形式
        pctdistance=0.8  # 设置百分比标签到圆心距离的比例
        )
# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

二、pandas

1、折线图

import numpy as np  # 导入 NumPy 库并使用别名 np
import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库

# 生成包含10个随机数的一维数组,并计算累积和,将其转换为 Pandas 的 Series
s = pd.Series(np.random.randn(10).cumsum(), index=np.arange(0, 100, 10))
# 绘制折线图,设置图形大小为 (7, 5) inches,颜色映射为 'viridis'
s.plot(figsize=(7, 5), colormap='viridis')
# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

import numpy as np  # 导入 NumPy 库并使用别名 np
import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库

# 生成一个包含10行4列随机数的二维数组,并对每列进行累积和
# 将其转换为 Pandas 的 DataFrame,指定列名和索引
df = pd.DataFrame(np.random.randn(10, 4).cumsum(0),
                  columns=['one', 'two', 'three', 'four'],
                  index=np.arange(0, 100, 10))
# 绘制 DataFrame 中每列的折线图,设置图形大小为 (10, 6) inches
df.plot(figsize=(10, 6))
# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

2、柱状图

import numpy as np  # 导入 NumPy 库并使用别名 np
import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库

# 创建一个包含两个子图的图形,fig是图形对象,axes是包含两个子图的数组
fig, axes = plt.subplots(2, 1)
# 生成包含10个随机数的一维数组,并转换为 Pandas 的 Series,指定索引
data = pd.Series(np.random.rand(10), index=list('abcdefjhij'))
# 在第一个子图上绘制垂直柱状图,设置图形大小、颜色、透明度
data.plot.bar(figsize=(10, 10), ax=axes[0], color='r', alpha=0.5)
# 在第二个子图上绘制水平柱状图,设置图形大小、颜色、透明度
data.plot.barh(figsize=(10, 10), ax=axes[1], color='g', alpha=0.5)
# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

图表适用场景总结:
1、折线图:表示数据的趋势情况,如几年每个月份的销量走势、股票走势。
2、散点图:查看数据的分布情况,是否有离群点、异常值(极小值、极大值 )、分布是否集中。
3、饼图:查看数据的占比情况,如整个市场的份额。
4、柱状图:多组数据数据对比。
5、直方图:查看数据的分布情况,集中程度、主要分布在哪个区间。

三、seaborn

Seaborn 是建立在 Matplotlib 基础上的一个数据可视化库。它提供了一些方便的函数,用于创建统计图形,特别适用于数据集的可视化和分析。

安装和导⼊:

pip install seaborn==0.11

import seaborn as sns # 导入 Seaborn 库并使用别名 sns

读取数据:

import pandas as pd  # 导入 Pandas 库并使用别名 pd
iris = pd.read_csv(r'F:\data\iris.csv')
print(iris)

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

1、散点图

import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库
import seaborn as sns  # 导入 Seaborn 库并使用别名 sns

# 从 CSV 文件中读取 Iris 数据集,将其存储为 Pandas 的 DataFrame
iris = pd.read_csv(r'F:\data\iris.csv')
# 设置图形大小为 (15, 6) inches
plt.figure(figsize=(15, 6))
# 使用 Seaborn 绘制散点图
sns.scatterplot(x='sepal_length',  # 横坐标为 'sepal_length'
                y='sepal_width',  # 纵坐标为 'sepal_width'
                hue='species',  # 颜色按 'species' 划分
                data=iris)  # 数据来自于 Iris 数据集
# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

2、箱线图

import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库
import seaborn as sns  # 导入 Seaborn 库并使用别名 sns

# 从 CSV 文件中读取 Iris 数据集,将其存储为 Pandas 的 DataFrame
iris = pd.read_csv(r'F:\data\iris.csv')
# 设置图形大小为 (15, 6) inches
plt.figure(figsize=(15, 6))

# 使用 Seaborn 绘制箱线图,根据 'species' 分组,展示花瓣长度的分布情况
sns.boxplot(x='species',  # 横坐标为 'species'
            y='petal_length',  # 纵坐标为 'petal_length'
            hue='species',  # 颜色按 'species' 划分
            data=iris)  # 数据来自于 Iris 数据集

# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

3、直方核密度图

import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库
import seaborn as sns  # 导入 Seaborn 库并使用别名 sns

# 从 CSV 文件中读取 Iris 数据集,将其存储为 Pandas 的 DataFrame
iris = pd.read_csv(r'F:\data\iris.csv')
# 设置图形大小为 (15, 6) inches
plt.figure(figsize=(15, 6))

# 使用 Seaborn 绘制直方图,根据 'species' 分组,展示花瓣长度的分布情况
sns.histplot(data=iris,  # 数据来自于 Iris 数据集
             x='petal_length',  # 横坐标为 'petal_length'
             hue='species',  # 颜色按 'species' 划分
             kde=True)  # 在直方图上绘制核密度估计曲线

# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

4、成对图

import pandas as pd  # 导入 Pandas 库并使用别名 pd
import matplotlib.pyplot as plt  # 导入 Matplotlib 库
import seaborn as sns  # 导入 Seaborn 库并使用别名 sns

# 从 CSV 文件中读取 Iris 数据集,将其存储为 Pandas 的 DataFrame
iris = pd.read_csv(r'F:\data\iris.csv')

# 使用 Seaborn 绘制成对关系图,显示不同特征之间的关系
# 横轴和纵轴的关系用散点图表示,对角线上是每个特征的单变量分布(直方图或核密度估计)
sns.pairplot(data=iris,  # 数据来自于 Iris 数据集
             hue='species',  # 颜色按 'species' 划分
             markers=["o", "s", "D"],  # 指定不同类别的标记样式
             palette='Set2')  # 指定颜色方案

# 显示图形
plt.show()

数据分析 — Matplotlib 、Pandas、Seaborn 绘图,数据分析,数据分析,matplotlib,pandas,sklearn

记录学习过程,欢迎讨论交流,尊重原创,转载请注明出处~文章来源地址https://www.toymoban.com/news/detail-827446.html

到了这里,关于数据分析 — Matplotlib 、Pandas、Seaborn 绘图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据分析/机器学习基础之matplotlib绘图篇

    目录 一、前言 我的运行环境 二、什么是matplotlib? 三、安装及导入 四、matplotlib的使用 五、matplotlib中文乱码问题 本人因在学习基于python的机器学习相关教程时第一次接触到matplotlib相关方面的绘图知识,故写此笔记进行记录,如果能帮助到其他人欢迎点个赞👍表示支持 学习

    2024年02月05日
    浏览(39)
  • 银行营销数据分析---Python(numpy、pandas、matplotlib)

    数据来源:kaggle银行营销数据 工具:Python、Jupyter Notebook 本项目采取的是kaggle银行营销的数据源,主要是预测客户是否会订购银行的产品,但是,这次我将 使用numpy、pandas、matplotlib数据分析三件套,基于源数据,深入分析影响银行三大业务—存款、贷款、营销产品的因素 ,

    2024年02月07日
    浏览(55)
  • python-数据分析-numpy、pandas、matplotlib的常用方法

    输出方式不同 里面包含的元素类型 使用 索引/切片 访问ndarray元素 切片 左闭右开 np.array(list) np.arange() np.random.randn() - - - 服从标准正态分布- - - 数学期望 μ - - - 标准方差 s 使用matplotlib.pyplot模块验证标准正态分布 np.random.randint(起始数,终止数(行,列)) 数据分析 - - - 数据清洗

    2024年02月10日
    浏览(94)
  • python数据分析学习笔记之matplotlib、numpy、pandas

    为了学习机器学习,在此先学习以下数据分析的matplotlib,numpy,pandas,主要是为自己的学习做个记录,如有不会的可以随时查阅。希望大家可以一起学习共同进步,我们最终都可以说:功不唐捐,玉汝于成。就算遇到困难也不要气馁,大声说:我不怕,我敏而好学!! 把大量

    2024年02月08日
    浏览(56)
  • Python数据分析:NumPy、Pandas和Matplotlib的使用和实践

    在现代数据分析领域中,Python已成为最受欢迎的编程语言之一。Python通过庞大的社区和出色的库支持,成为了数据科学家和分析师的首选语言。在Python的库中,NumPy、Pandas和Matplotlib是三个最为重要的库,它们分别用于处理数值数组、数据处理和可视化。本文将介绍这三个库的

    2024年02月04日
    浏览(67)
  • 郭炜老师mooc第十一章数据分析和展示(numpy,pandas, matplotlib)

    numpy创建数组的常用函数  numpy数组常用属性和函数  numpy数组元素的增删 在numpy数组中查找元素  np.argwhere( a ):返回非0的数组元组的索引,其中a是要索引数组的条件。 np.where(condition) 当where内只有一个参数时,那个参数表示条件,当条件成立时,           where返回的是每个

    2024年03月15日
    浏览(77)
  • Python 数据分析入门教程:Numpy、Pandas、Matplotlib和Scikit-Learn详解

    NumPy是一个Python的科学计算基础模块,提供了多维数组和矩阵操作功能。 NumPy中的数组比Python自带的列表更适合进行数值计算和数据分析。 Pandas建立在NumPy之上,提供了更高级的数据分析功能。 Pandas中的DataFrame可以看成是一个二维表格,便于加载和分析数据。 Matplotlib可以用来绘

    2024年02月07日
    浏览(49)
  • 【数据分析之道-Matplotlib(六)】Matplotlib饼图

    ✍ 作者简介: i阿极 ,CSDN Python领域新星创作者, 专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》 ,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。 ✍ 订阅后,可以阅读《数据分析之道》中全部文章内容

    2024年02月07日
    浏览(32)
  • 【数据分析之道-Matplotlib(四)】Matplotlib散点图

    ✍ 作者简介: i阿极 ,CSDN Python领域新星创作者, 专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》 ,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。 ✍ 订阅后,可以阅读《数据分析之道》中全部文章内容

    2024年02月05日
    浏览(40)
  • 【数据分析之道-Matplotlib(八)】Matplotlib箱线图

    ✍ 作者简介: i阿极 ,CSDN 数据分析领域优质创作者, 专注于分享python数据分析领域知识。 ✍ 本文录入于《数据分析之道》 ,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。 ✍ 订阅后,可以阅读《数据分析之道》中

    2024年02月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包