【数据可视化】折线图的绘制 您所在的位置:网站首页 更改图表横坐标轴数值 【数据可视化】折线图的绘制

【数据可视化】折线图的绘制

2023-07-06 17:22| 来源: 网络整理| 查看: 265

折线图 图形介绍

折线图是一种用线段连接数据点的图表,用于展示数据随时间或特定变量而变化的趋势。折线图通常显示单一的变量,以便用户可以看到数据在时间或其他变量的维度上的变化规律,以及不同时间点之间的关系。折线图常用于比较两个或以上变量的趋势,并可帮助用户更好地理解数据。

导入模块 import pyecharts.options as opts from pyecharts.charts import Line import pandas as pd

import pyecharts.options as opts:这行代码导入了pyecharts库中的options模块,并给它取了一个简短的别名opts。这个模块中包含了各种格式和样式选项常量,方便在后续代码中使用。

from pyecharts.charts import Line:这行代码导入了pyecharts库中的charts模块中的Line类。这个类是pyecharts库中用于绘制折线图的类。

import pandas as pd:这行代码导入了Python中的pandas库,并给它取了一个简短的别名pd。pandas是一款专门用于数据处理和分析的Python库,使用它可以方便地对数据进行读取、处理和转换。

创建数据

使用pandas库中的DataFrame()函数,生成了一个包含4列的DataFrame对象。

df = pd.DataFrame({ 'date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05'], 'apples': [100, 110, 120, 130, 140], 'oranges': [90, 85, 80, 75, 70], 'bananas': [70, 72, 74, 76, 78] })

date’: [‘2022-01-01’, ‘2022-01-02’, ‘2022-01-03’, ‘2022-01-04’, ‘2022-01-05’]:这是第一列数据,包含5个日期字符串,代表时间序列的横坐标值,用于在图表中标示出横坐标上的时间点。

‘apples’: [100, 110, 120, 130, 140]:这是第二列数据,包含5个整数值,代表苹果销量随时间变化的纵坐标值,用于在图表中标示出苹果销量的变化趋势。

‘oranges’: [90, 85, 80, 75, 70]:这是第三列数据,包含5个整数值,代表橘子销量随时间变化的纵坐标值,用于在图表中标示出橘子销量的变化趋势。

‘bananas’: [70, 72, 74, 76, 78]:这是第四列数据,包含5个整数值,代表香蕉销量随时间变化的纵坐标值,用于在图表中标示出香蕉销量的变化趋势。

数据处理

通过pandas库中DataFrame对象df的列索引方式提取日期列“date”,并使用tolist()函数将其转换为Python中的列表格式。

x_data = df['date'].tolist()

df['date']:这是对DataFrame对象df的列索引,返回了包含“date”列的pandas Series对象。 .tolist():这是Series对象的方法,将Series对象中的数据转换为Python中的列表格式。 最终结果保存在变量x_data中,是一个包含5个日期字符串的Python列表。该变量作为折线图x轴(横坐标)上的刻度标签。在折线图上,每个日期字符串对应一个x轴上的刻度点,用户可以根据需要自行调整x轴刻度标签的显示方式和格式。

绘制图形

使用pyecharts库中的Line类,生成了一个简单的折线图,并设置了标题、y轴选项、提示框等全局选项。

line_basic = ( Line() .add_xaxis(x_data) .add_yaxis('apples', df['apples'].tolist(), is_smooth=True, label_opts=opts.LabelOpts(is_show=False)) .add_yaxis('oranges', df['oranges'].tolist(), is_smooth=True, label_opts=opts.LabelOpts(is_show=False)) .add_yaxis('bananas', df['bananas'].tolist(), is_smooth=True, label_opts=opts.LabelOpts(is_show=False)) .set_global_opts( title_opts=opts.TitleOpts(title='折线图'), yaxis_opts=opts.AxisOpts(type_='value'), tooltip_opts=opts.TooltipOpts(trigger='axis') ) )

.add_xaxis(x_data):这行代码设置x轴数据为列表x_data,该列表由DataFrame对象df中的“date”列得到。

.add_yaxis('apples', df['apples'].tolist(), is_smooth=True, label_opts=opts.LabelOpts(is_show=False)):这行代码添加一个y轴系列“apples”到Line对象中,并将数据设置为DataFrame对象df中的“apples”列,使用tolist()方法将数据转换为列表。使用is_smooth=True将线条进行了平滑处理,使用label_opts=opts.LabelOpts(is_show=False)去除了标签显示。

.add_yaxis('oranges', df['oranges'].tolist(), is_smooth=True, label_opts=opts.LabelOpts(is_show=False)):这行代码和前一行类似,只不过对应了DataFrame对象df中的“oranges”列。

.add_yaxis('bananas', df['bananas'].tolist(), is_smooth=True, label_opts=opts.LabelOpts(is_show=False)):这行代码和前两行类似,只不过对应了DataFrame对象df中的“bananas”列。

.set_global_opts(title_opts=opts.TitleOpts(title='折线图示例'), yaxis_opts=opts.AxisOpts(type_='value'), tooltip_opts=opts.TooltipOpts(trigger='axis')):这行代码设置了整个折线图的全局选项,具体地,设置了标题、y轴选项、提示框等选项。标题可以通过TitleOpts()方法设置,y轴选项通过AxisOpts()方法设置,包括type_='value’表示y轴为数值类型。提示框通过TooltipOpts()方法设置,可以设置触发条件和指针类型等。

这段代码实现了从Excel文件中读取数据、绘制折线图、设置样式选项等的功能,非常方便和实用。

在Jupyter Notebook中渲染图表

使用pyecharts中折线图对象line_basic的render_notebook()方法,在Jupyter Notebook中渲染生成的折线图。

line_basic.render_notebook()

line_basic是前面定义的Line对象,表示生成的折线图。

.render_notebook()是折线图对象的方法,将生成的折线图渲染到Jupyter Notebook中。

该方法生成的图表可以在Notebook中直接查看和操作,可以放大、缩小、拖动和保存,非常方便实用。

图形生成后示例



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有