折线图经常用来观察数据随时间变化的趋势,折线图中的维度不宜过多,否则会非常混乱和复杂,折线图可以显示随时间而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。在可视化中,也经常用到面积图,面积图是折线图的变种,面积图更注重数据类别之间随着时间趋势的变化关系,表示数值累积。在折线图中,类别数据沿水平轴均匀分布,所有值数据沿垂直轴均匀分布,本文借助Python中的pyecharts库,绘制常用的折线图、平滑曲线、面积图等, 生成折线图可以分为如下几步,导入pyecharts库,导入数据,基本属性设置,如下为常用的折线图示例,详细操作请看代码注释。
1折线图基本示例
import pyecharts.options as opts #导入pyecharts库from pyecharts.charts import Linenum=[114, 55, 27, 101, 125, 27, 105] #导入数据lab=["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"]( Line(init_opts=opts.InitOpts(width='720px', height='320px')) #设置画布大小 .add_xaxis(lab) .add_yaxis('商家A',num) .set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例")) ).render_notebook()
2GDP总量变化
import pyecharts.options as opts #导入pyecharts库from pyecharts.charts import Linegdp = [300.2, 543.3, 1075.9, 2862.5, 5979.6, 10289.7, 14958.3] #导入数据year = ['1950年', '1960年', '1970年', '1980年', '1990年', '2000年', '2010年']( Line(init_opts=opts.InitOpts(width='720px', height='320px')) #设置画布大小 .add_xaxis(year) .add_yaxis("GDP",gdp) .set_global_opts(title_opts=opts.TitleOpts(title="GDP总量变化")) ).render_notebook()
3双变量基本示例
import pyecharts.options as opts #导入pyecharts库from pyecharts.charts import Linenum = [114, 55, 27, 101, 125, 27, 105] #导入数据num2 = [57, 134, 137, 129, 145, 60, 49]lab = ["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"]( Line(init_opts=opts.InitOpts(width='720px', height='320px')) # 指定画布大小,括号内为空则默认大小 .add_xaxis(xaxis_data=lab) .add_yaxis("商家A", num) .add_yaxis("商家B", num2) .set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例")) ).render_notebook()
4平滑曲线
##平滑曲线import pyecharts.options as opts #导入pyecharts库from pyecharts.charts import Linenum = [114, 55, 27, 101, 125, 27, 105] #导入数据num2 = [57, 134, 137, 129, 145, 60, 49]lab = ["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"]( Line(init_opts=opts.InitOpts(width='720px', height='320px')) .add_xaxis(lab) .add_yaxis("商家A", num,is_smooth=True) .add_yaxis("商家B",num2,is_smooth=True) #设置平滑曲线属性 .set_global_opts(title_opts=opts.TitleOpts(title="平滑曲线")) ).render_notebook()
5面积图
##面积图import pyecharts.options as opts #导入pyecharts库from pyecharts.charts import Linenum = [114, 55, 27, 101, 125, 27, 105] #导入数据num2 = [57, 134, 137, 129, 145, 60, 49]lab = ["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"]( Line(init_opts=opts.InitOpts(width='720px', height='320px'))#设置画布大小 .add_xaxis(lab) .add_yaxis("商家A", num,areastyle_opts=opts.AreaStyleOpts(opacity=0.5))#设置面积图属性 .add_yaxis("商家B",num2,areastyle_opts=opts.AreaStyleOpts(opacity=0.5)) .set_global_opts(title_opts=opts.TitleOpts(title="面积图")) ).render_notebook()