Python数据分析之使用matplotlib绘制折线图、柱状图和柱线混合图

 更新时间:2022年05月14日 08:38:28   作者:小胖_@  
matplotlib是python的一个模块,用于绘制各种图形,今天介绍一下折线图的绘制,下面这篇文章主要给大家介绍了关于Python数据分析之使用matplotlib绘制折线图、柱状图和柱线混合图的相关资料,需要的朋友可以参考下

matplotlib介绍

  • Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。
  • 安装Matplotlib库命令:在cmd命令窗口输入pip install matplotlib。

matplotlib绘制折线图

1、绘制一条折线的折线图

# -*- coding:utf-8 -*-
import matplotlib
import matplotlib.pyplot as plt
# 处理乱码
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
x = [1, 2, 3, 4]
y = [10, 50, 20, 100]
# "r" 表示红色,ms用来设置*的大小
plt.plot(x, y, "r", marker='*', ms=10, label="a")
# plt.plot([1, 2, 3, 4], [20, 30, 80, 40], label="b")
plt.xticks(rotation=45)
plt.xlabel("发布日期")
plt.ylabel("小说数量")
plt.title("80小说网活跃度")
# upper left 将图例a显示到左上角
plt.legend(loc="upper left")
# 在折线图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for x1, y1 in zip(x, y):
    plt.text(x1, y1 + 1, str(y1), ha='center', va='bottom', fontsize=20, rotation=0)
plt.savefig("a.jpg")
plt.show()

图形效果展示:

注意:savefig()是图形存储成图片show()是将图形显示出来。

2、绘制多条折线

# -*- coding:utf-8 -*-
import matplotlib
import matplotlib.pyplot as plt
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
x = [1, 2, 3, 4]
y1 = [45, 50, 20, 100]
y2 = [26, 10, 76, 25]
y3 = [11, 66, 55, 88]
y4 = [69, 50, 35, 100]
plt.plot(x, y1, marker='*', ms=10, label="a")
plt.plot(x, y2, marker='*', ms=10, label="b")
plt.plot(x, y3, marker='*', ms=10, label="c")
plt.plot(x, y4, marker='*', ms=10, label="d")
plt.xticks(rotation=45)
plt.xlabel("发布日期")
plt.ylabel("小说数量")
plt.title("80小说网活跃度")
plt.legend(loc="upper left")
# 在折线图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for y in [y1, y2, y3, y4]:
    for x1, yy in zip(x, y):
        plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
plt.savefig("a.jpg")
plt.show()

图形效果展示:

matplotlib绘制柱状图

1、绘制普通柱状图

# -*- coding:utf-8 -*-
import matplotlib
import matplotlib.pyplot as plt
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
# 构建数据
x = [1, 2, 3, 4]
y = [450, 500, 200, 1000]
# 绘图
plt.bar(x=x, height=y, label='书库大全', color='steelblue', alpha=0.8)
# 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for x1, yy in zip(x, y):
    plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
# 设置标题
plt.title("80小说网活跃度")
# 为两条坐标轴设置名称
plt.xlabel("发布日期")
plt.ylabel("小说数量")
# 显示图例
plt.legend()
plt.savefig("a.jpg")
plt.show()

图形效果展示:

2、绘制多组柱状图

# -*- coding:utf-8 -*-
import matplotlib
import matplotlib.pyplot as plt
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
# 构建数据
x = ['2015', '2016', '2017', '2018', '2019']
y1 = [4500, 5000, 2000, 7000, 10000]
y2 = [5200, 7000, 5000, 9000, 11000]
# 绘图
plt.bar(x=x, height=y1, label='python', color='steelblue', alpha=0.8)
plt.bar(x=x, height=y2, label='java', color='indianred', alpha=0.8)
# 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for x1, yy in zip(x, y1):
    plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
for x1, yy in zip(x, y2):
    plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
# 设置标题
plt.title("python与java图书对比")
# 为两条坐标轴设置名称
plt.xlabel("年份")
plt.ylabel("销量")
# 显示图例
plt.legend()
plt.savefig("a.jpg")
plt.show()

图形效果展示:

3、绘制柱状图的条柱并列显示

# -*- coding:utf-8 -*-
import numpy as np
import matplotlib
import matplotlib.pyplot as plt

matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
# 构建数据
x = ['2015', '2016', '2017', '2018', '2019']
y1 = [4500, 5000, 2000, 7000, 10000]
y2 = [5200, 7000, 5000, 9000, 11000]
bar_width = 0.3
# 将X轴数据改为使用range(len(x_data), 就是0、1、2...
plt.bar(x=range(len(x)), height=y1, label='python', color='steelblue', alpha=0.8, width=bar_width)
# 将X轴数据改为使用np.arange(len(x_data))+bar_width,
# 就是bar_width、1+bar_width、2+bar_width...这样就和第一个柱状图并列了
plt.bar(x=np.arange(len(x)) + bar_width, height=y2, label='java', color='indianred', alpha=0.8, width=bar_width)
# 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for x1, yy in enumerate(y1):
    plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
for x1, yy in enumerate(y2):
    plt.text(x1 + bar_width, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
# 设置标题
plt.title("python与java对比")
# 为两条坐标轴设置名称
plt.xlabel("年份")
plt.ylabel("销量")
# 显示图例
plt.legend()
plt.savefig("a.jpg")
plt.show()

图形效果展示:

matplotlib绘制柱线混合图

1、绘制柱线混合图

# -*- coding:utf-8 -*-
import matplotlib
import matplotlib.pyplot as plt
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
# 构建数据
x = [2, 4, 6, 8]
y = [450, 500, 200, 1000]
# 绘图
plt.bar(x=x, height=y, label='书库大全', color='steelblue', alpha=0.8)
# 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for x1, yy in zip(x, y):
    plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=20, rotation=0)
# 设置标题
plt.title("80小说网活跃度")
# 为两条坐标轴设置名称
plt.xlabel("发布日期")
plt.ylabel("小说数量")
# 显示图例
plt.legend()
# 画折线图
plt.plot(x, y, "r", marker='*', ms=10, label="a")
plt.xticks(rotation=45)
plt.legend(loc="upper left")
plt.savefig("a.jpg")
plt.show()

图形效果展示:

总结 

到此这篇关于Python数据分析之使用matplotlib绘制折线图、柱状图和柱线混合图的文章就介绍到这了,更多相关Python matplotlib绘制折线图 柱状图 柱线混合图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈numpy数组中冒号和负号的含义

    浅谈numpy数组中冒号和负号的含义

    下面小编就为大家分享一篇浅谈numpy数组中冒号和负号的含义,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python十进制和二进制的转换方法(含浮点数)

    python十进制和二进制的转换方法(含浮点数)

    这篇文章主要介绍了python十进制和二进制的转换方法(含浮点数),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Python scrapy爬取小说代码案例详解

    Python scrapy爬取小说代码案例详解

    这篇文章主要介绍了Python scrapy爬取小说代码案例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Python实现为PDF去除水印的示例代码

    Python实现为PDF去除水印的示例代码

    这篇文章主要介绍了如何利用Python实现PDF去除水印功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Python中关键字global和nonlocal的区别详解

    Python中关键字global和nonlocal的区别详解

    这篇文章主要给大家介绍了关于Python中关键字global和nonlocal的区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • python的open函数使用案例代码

    python的open函数使用案例代码

    python打开文件使用open()函数,返回一个指向文件的指针,在python中使用open函数对文件进行处理,这篇文章主要介绍了python中的open函数使用,需要的朋友可以参考下
    2023-02-02
  • python 简单备份文件脚本v1.0的实例

    python 简单备份文件脚本v1.0的实例

    下面小编就为大家带来一篇python 简单备份文件脚本v1.0的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望对大家有所帮助
    2017-11-11
  • pytorch神经网络之卷积层与全连接层参数的设置方法

    pytorch神经网络之卷积层与全连接层参数的设置方法

    今天小编就为大家分享一篇pytorch神经网络之卷积层与全连接层参数的设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python数学建模库StatsModels统计回归简介初识

    Python数学建模库StatsModels统计回归简介初识

    这篇文章主要为大家介绍了Python数学建模库StatsModels统计回归的基本概念,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝打击多多进步
    2021-10-10
  • Python netmiko模块的使用

    Python netmiko模块的使用

    这篇文章主要介绍了Python netmiko模块的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论