iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python数据可视化之简单折线图的绘制
  • 641
分享到

Python数据可视化之简单折线图的绘制

2024-04-02 19:04:59 641人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录创建RandomWalk类选择方向绘制随机漫步图模拟多次随机漫步给点着色突出起点和终点增加点数调整尺寸以适用屏幕创建RandomWalk类 为模拟随机漫步,我们将创建一个Rand

创建RandomWalk类

为模拟随机漫步,我们将创建一个RandomWalk类,随机选择前进方向,这个类有三个属性,一个存储随机漫步的次数,另外两个存储随机漫步的每个点的x,y坐标,每次漫步都从点(0,0)出发

from random import choice

class RandomWalk():
    '''一个生成随机漫步数据的类'''
    def __init__(self,num_points=5000):
        '''初始化随机漫步的属性'''
        self.num_points = num_points

        # 所有随机漫步都始于(0,0)
        self.x_values = [0]
        self.y_values = [0]

选择方向

我们将使用fill_walk()来生成随机漫步包含的点,并决定每次漫步的方向。并将其添加到random_walk.py中 改正代码如下:

from random import choice


class RandomWalk():
    '''一个生成随机漫步数据的类'''

    def __init__(self, num_points=5000):
        '''初始化随机漫步的属性'''
        self.num_points = num_points

        # 所有随机漫步都始于(0,0)
        self.x_values = [0]
        self.y_values = [0]

    def fill_walk(self):
        '''计算随机漫步包含的所有点'''

        # 不断漫步,知道列表到达指定的长度
        while len(self.x_values) < self.num_points:
            # 决定前进方向以及沿这个方向前进的距离
            x_direction = choice([1, -1])
            x_distance = choice([0, 1, 2, 3, 4])
            x_step = x_direction * x_distance

            y_direction = choice([1, -1])
            y_distance = choice([0, 1, 2, 3, 4])
            y_step = y_direction * y_distance

            # 拒绝原地漫步
            if x_step == 0 and y_step == 0:
                continue

            # 计算下一个点的x,y值
            next_x = self.x_values[-1] + x_step
            next_y = self.y_values[-1] + y_step

            self.x_values.append(next_x)
            self.y_values.append(next_y)

绘制随机漫步图

下面的代码将随机漫步的所有点都绘制出来,将文件命名为rw_visual.py

import matplotlib.pyplot as plt

from random_walk import RandomWalk
# 创建一个RandomWalk实例,并将其包含的点都绘制出来
rw = RandomWalk()
rw.fill_walk()
plt.scatter(rw.x_values, rw.y_values, s=10)
plt.show()

模拟多次随机漫步

每次随机漫步都不同,因此每次生成的各种模式也很有趣,要在不多次运行程序的情况下,进行随机漫步,可以把代码放入一个while循环中,每次关闭matplotlib查看器,系统会询问你是否再次模拟随机漫步(输入y将再次进行随机漫步,输入n将结束程序) 改进代码如下:

import matplotlib.pyplot as plt

from random_walk import RandomWalk

# 只要程序处于活动状态,就不断模拟随机漫步
while True:
    # 创建一个RandomWalk实例,并将其包含的点都绘制出来
    rw = RandomWalk()
    rw.fill_walk()
    plt.scatter(rw.x_values, rw.y_values, s=10)
    plt.show()

    keep_running = input("make another walk? (y/n):")
    if keep_running.upper() == 'N':
        break

每次随机漫步都不同,就如人的一生每走一步都会有不同的经历

给点着色

使用颜色映射指出漫步中各点的先后顺序,并删除每个点的黑色轮廓,让颜色更明显。将参数c设置为points_numbers,指定使用颜色映射Blues,并传递实参edgecolor=none以删除每个点周围的轮廓,随机漫步图会从浅蓝色渐变到深蓝色,代码如下:

import matplotlib.pyplot as plt

from random_walk import RandomWalk

# 只要程序处于活动状态,就不断模拟随机漫步
while True:
    # 创建一个RandomWalk实例,并将其包含的点都绘制出来
    rw = RandomWalk()
    rw.fill_walk()
    point_numbers = list(range(rw.num_points))
    plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues, edgecolors='none', s=10)
    plt.show()

    keep_running = input("make another walk? (y/n):")
    if keep_running.upper() == 'N':
        break

效果如下:

突出起点和终点

还可以呈现出随机漫步的起点和终点,我们让起点和终点变得更大,并显示为不同的颜色,代码如下:

import matplotlib.pyplot as plt

from random_walk import RandomWalk

# 只要程序处于活动状态,就不断模拟随机漫步
while True:
    # 创建一个RandomWalk实例,并将其包含的点都绘制出来
    rw = RandomWalk()
    rw.fill_walk()
    point_numbers = list(range(rw.num_points))
    plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues, edgecolors='none', s=10)
    # 突出起点和重点
    plt.scatter(0, 0, c='green', edgecolors='none', s=100)
    plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none', s=100)
    plt.show()

    keep_running = input("make another walk? (y/n):")
    if keep_running.upper() == 'N':
        break

效果如下:

增加点数

增加点数,以提供更多的数据,我们在创建RandomWalk实例时增大num_points的值,并在绘图时改变每个点的大小,代码如下:

import matplotlib.pyplot as plt

from random_walk import RandomWalk

# 只要程序处于活动状态,就不断模拟随机漫步
while True:
    # 创建一个RandomWalk实例,并将其包含的点都绘制出来
    rw = RandomWalk(50000)
    rw.fill_walk()
    point_numbers = list(range(rw.num_points))
    plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues, edgecolors='none', s=1)
    # 突出起点和重点
    plt.scatter(0, 0, c='green', edgecolors='none', s=100)
    plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none', s=100)
    plt.show()

    keep_running = input("make another walk? (y/n):")
    if keep_running.upper() == 'N':
        break

效果如下:

调整尺寸以适用屏幕

图表适合屏幕大小时,更能有效地将数据中的规律呈现出来。函数figure()用于指定图表的宽度、高度、分辨率和背景色。需要给形参figsize指定一个元组,向matplotlib指出绘图窗口的尺寸(单位为英寸) 如果你知道自己的系统分辨率,可使用形参dpi像figure()传递该分辨率,以有效利用可用的屏幕空间代码如下:

import matplotlib.pyplot as plt

from random_walk import RandomWalk

# 只要程序处于活动状态,就不断模拟随机漫步
while True:
    # 创建一个RandomWalk实例,并将其包含的点都绘制出来
    rw = RandomWalk(50000)
    rw.fill_walk()
    # 设置绘图窗口的大小
    plt.figure(dpi=128, figsize=(10, 6))
    point_numbers = list(range(rw.num_points))
    plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues, edgecolors='none', s=1)
    # 突出起点和重点
    plt.scatter(0, 0, c='green', edgecolors='none', s=100)
    plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none', s=100)
    plt.show()

    keep_running = input("make another walk? (y/n):")
    if keep_running.upper() == 'N':
        break

运行效果如下图所示

到此这篇关于python数据可视化之简单折线图的绘制的文章就介绍到这了,更多相关Python折线图绘制内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python数据可视化之简单折线图的绘制

本文链接: https://www.lsjlt.com/news/120776.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python数据可视化之简单折线图的绘制
    目录创建RandomWalk类选择方向绘制随机漫步图模拟多次随机漫步给点着色突出起点和终点增加点数调整尺寸以适用屏幕创建RandomWalk类 为模拟随机漫步,我们将创建一个Rand...
    99+
    2024-04-02
  • 数据可视化——用python绘制简单的折线图
    文章目录 前言JSON使用 pyecharts 模块绘制折线图下载 pyecharts 模块使用 pyecharts 模块绘制简单的折线图添加配置选项 前言 前面我们已经学习了pyt...
    99+
    2023-09-01
    信息可视化 python 开发语言
  • python数据可视化matplotlib绘制折线图示例
    目录plt.plot()函数各参数解析各参数具体含义为:x,ycolorlinestylelinewidthmarker关于marker的参数plt.plot()函数各参数解析 pl...
    99+
    2024-04-02
  • Python数据可视化之使用matplotlib绘制简单图表
    目录一、绘制折线图二、绘制柱形图或堆积图形三、绘制条形图或堆积条形图 四、绘制堆积面积图五、绘制直方图六、绘制饼图或者圆环图 七、绘制散点图或气泡图八、绘制箱形图...
    99+
    2024-04-02
  • Python可视化神器pyecharts绘制折线图详情
    目录折线图介绍折线图模板系列双折线图(气温最高最低温度趋势显示)面积折线图(紧贴Y轴)简单折线图(无动态和数据标签)连接空白数据折线图对数轴折线图示例折线图堆叠(适合多个折线图展示)...
    99+
    2024-04-02
  • Python绘制折线图可视化神器pyecharts案例
    目录前言折线图模板系列自定义标签数据折线图一天用电量折线图(特定场景)断点折线图(根据场景进行配置)双折线图显示最低最高数据标签(不显示其他数据标签)双折线图显示平均刻度数据标签(数...
    99+
    2024-04-02
  • python数据可视化之日期折线图画法
    本文实例为大家分享了python日期折线图画法的具体代码,供大家参考,具体内容如下 引入 什么是折线图: 折线图是排列在工作表的列或行中的数据可以绘制到折线图中。折线图可以显示随时间...
    99+
    2024-04-02
  • Python数据分析之 Matplotlib 折线图绘制
    目录一、Matplotlib 绘图简单示例二、折线图绘制一、Matplotlib 绘图 在数据分析中,数据可视化也非常重要,通过直观的展示过程、结果数据,可以帮助我们清晰的理解数据,...
    99+
    2024-04-02
  • python数据可视化之matplotlib.pyplot基础以及折线图
    不论是数据挖掘还是数据建模,都免不了数据可视化的问题。对于Python来说,Matplotlib是最著名的绘图库,它主要用于二维绘图,当然它也可以进行简单的三维绘图(基于spyder...
    99+
    2024-04-02
  • Python matplotlib数据可视化图绘制
    目录前言1.折线图2.直方图3.箱线图4.柱状图5.饼图6.散点图前言 导入绘图库: import matplotlib.pyplot as plt import numpy as ...
    99+
    2024-04-02
  • 如何使用Python绘制简单的折线图
    这篇文章主要讲解了“如何使用Python绘制简单的折线图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Python绘制简单的折线图”吧!创建RandomWalk类为模拟随机漫步,我们...
    99+
    2023-07-04
  • Python绘制折线图可视化神器pyecharts怎么使用
    这篇“Python绘制折线图可视化神器pyecharts怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python绘...
    99+
    2023-07-02
  • python数据可视化之饼状图怎么绘制
    这篇文章主要介绍“python数据可视化之饼状图怎么绘制”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python数据可视化之饼状图怎么绘制”文章能帮助大家解决问题。Pyplot 是 Matplot...
    99+
    2023-07-02
  • Python可视化Matplotlib介绍和简单图形的绘制
    目录1. 什么是Matplotlib2. 实现一个最简单的Matplotlib画图以折线图为例2.1 matplotlib.pyplot模块2.2 图形绘制流程1.创建画布 – pl...
    99+
    2024-04-02
  • Python数据可视化之绘制柱状图和条形图
    目录一、实验目的:二、实验内容:三、实验过程(附结果截图):一、实验目的: 1.掌握Python中柱状图、条形图绘图函数的使用 2.利用上述绘图函数实现数据可视化 二、实验内容: 1...
    99+
    2024-04-02
  • 【Matplotlib绘制图像目录】Python数据可视化之美
    前言 大家好,我是阿光。 本专栏整理了《Matplotlib绘制图像大全》,内包含了各种常见的绘图方法,以及Matplotlib各种内置函数的使用方法,帮助我们快速便捷的绘制出数据图像。 正在更...
    99+
    2023-08-31
    matplotlib python pandas numpy scipy
  • excel两列数据绘制单折线图表
    目录 1. 折线图(二维)2. x轴y轴散点图(可操作横轴) 有关excel的两列数据绘制出一张折线图或柱状图的方法。要求两列数据分别成为图表的横坐标和纵坐标。 1. 折线图(二维)...
    99+
    2023-08-31
    python 开发语言
  • 使用Python matplotlib绘制简单的柱形图、折线图和直线图
    目录介绍1、柱形图2、直线图3、折线图总结介绍 Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式...
    99+
    2024-04-02
  • python数据可视化Seaborn绘制山脊图
    目录1. 引言2. 举个栗子3.山脊图4.扩展5.结论1. 引言 山脊图一般由垂直堆叠的折线图组成,这些折线图中的折线区域间彼此重叠,此外它们还共享相同的x轴. 山脊图经常以一种相...
    99+
    2024-04-02
  • Python matplotlib可视化之绘制韦恩图
    目录本文速览1、matplotlib_venn(1)2组数据venn图(2)3组数据venn图2、pyvenn2组数据venn3组数据venn4组数据venn5组数据venn6组数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作