Python使用Pyecharts绘制各种折线图的实战指南

Written by

in

文章目录
  • # 导入需要的模块 from pyecharts import options as opts from pyecharts.charts import Line # 初始化折线图 line = Line() # 准备数据 line.add_xaxis([“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”]) line.add_yaxis(“Temperature”, [20, 22, 24, 26, 28, 30, 32]) # 渲染图表 line.set_global_opts( title_opts=opts.TitleOpts(title=”Weekly Temperature”), xaxis_opts=opts.AxisOpts(name=”Day of Week”), yaxis_opts=opts.AxisOpts(name=”Temperature (°C)”) ) #结果展示 line.render(“line_chart.html”)
  • 如果需要在同一张图表中展示多条折线,比如比较不同城市的温度变化情况,可以使用 add_yaxis 方法添加多条数据。 line = Line() # 添加 x 轴数据 line.add_xaxis([“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”]) # 添加多条 y 轴数据 line.add_yaxis(“City A”, [22, 24, 26, 28, 30, 32, 34]) line.add_yaxis(“City B”, [20, 22, 24, 26, 28, 30, 32]) # 设置全局配置项 line.set_global_opts( title_opts=opts.TitleOpts(title=”Weekly Temperature Comparison”), xaxis_opts=opts.AxisOpts(name=”Day of Week”), yaxis_opts=opts.AxisOpts(name=”Temperature (°C)”), tooltip_opts=opts.TooltipOpts(trigger=”axis”) ) line.render(“multi_line_chart.html”)
  • Pyecharts 也支持将折线设置为平滑曲线,适合展示连续数据的趋势。 通过is_smooth=True 参数设置平滑曲线图 line = Line() # 添加数据,设置平滑线 line.add_xaxis([“January”, “February”, “March”, “April”, “May”, “June”, “July”]) line.add_yaxis(“Sales”, [150, 200, 250, 300, 350, 400, 450], is_smooth=True) # 设置全局配置项 line.set_global_opts( title_opts=opts.TitleOpts(title=”Monthly Sales”), xaxis_opts=opts.AxisOpts(name=”Month”), yaxis_opts=opts.AxisOpts(name=”Sales (Units)”) ) line.render(“smooth_line_chart.html”) 增加最大值和最小值和平均值 import pyecharts.options as opts from pyecharts.charts import Line # 数据 x_data = [‘周一’, ‘周二’, ‘周三’, ‘周四’, ‘周五’, ‘周六’, ‘周日’] y_data1 = [120, 200, 150, 80, 70, 110, 130] y_data2 = [90, 150, 200, 120, 100, 80, 110] line=( # 创建折线图实例 Line() # 将准备好的两组数据添加到折线图实例中 .add_xaxis(xaxis_data=x_data) .add_yaxis(series_name=”y1线”,y_axis=y_data1,symbol=”arrow”,is_symbol_show=True) .add_yaxis(series_name=”y2线”,y_axis=y_data2, markpoint_opts=opts.MarkPointOpts( data=[ opts.MarkPointItem(type_=”max”, name=”最大值”), opts.MarkPointItem(type_=”min”, name=”最小值”), ] ), markline_opts=opts.MarkLineOpts( data=[opts.MarkLineItem(type_=”average”, name=”平均值”)] )) .set_global_opts(title_opts=opts.TitleOpts(title=”多折线重叠”)) ) # 渲染图表 line.render_notebook()
  • 在 Pyecharts 中,我们可以通过 add_yaxis 方法中的 step 参数来绘制阶梯图。step 参数可以设置为 True,表示绘制阶梯线。 from pyecharts.charts import Line from pyecharts import options as opts # 初始化折线图 line = Line() # 添加 X 轴数据 line.add_xaxis([“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”]) # 添加 Y 轴数据,并设置为阶梯图 line.add_yaxis(“Sales”, [100, 200, 150, 300, 250, 350, 400], is_step=True) # 设置全局配置项 line.set_global_opts( title_opts=opts.TitleOpts(title=”Weekly Sales – Step Chart”), xaxis_opts=opts.AxisOpts(name=”Day of Week”), yaxis_opts=opts.AxisOpts(name=”Sales (Units)”), tooltip_opts=opts.TooltipOpts(trigger=”axis”) ) # 渲染为本地 HTML 文件 line.render(“step_line_chart.html”)
  • 通过设置 area_style_opts=opts.AreaStyleOpts(opacity=0.3)) from pyecharts.charts import Line from pyecharts import options as opts # 创建一个折线图实例 line = Line() # 添加 X 轴数据 line.add_xaxis([“January”, “February”, “March”, “April”, “May”, “June”, “July”]) # 添加 Y 轴数据,并设置为面积折线图 line.add_yaxis(“Sales”, [150, 200, 250, 300, 350, 400, 450], is_smooth=True, area_style_opts=opts.AreaStyleOpts(opacity=0.3)) # 设置全局配置项 line.set_global_opts( title_opts=opts.TitleOpts(title=”Monthly Sales – Area Line Chart”), xaxis_opts=opts.AxisOpts(name=”Month”), yaxis_opts=opts.AxisOpts(name=”Sales (Units)”), tooltip_opts=opts.TooltipOpts(trigger=”axis”) ) # 渲染为本地 HTML 文件 line.render(“area_line_chart.html”)
  • from pyecharts.charts import Line from pyecharts import options as opts # 创建 Line 图实例 line = Line() # 添加 X 轴数据(这里以月份为例) line.add_xaxis([“January”, “February”, “March”, “April”, “May”, “June”, “July”]) # 添加多个 Y 轴数据,并设置为面积折线图 # 1. 产品A line.add_yaxis(“Product A”, [150, 200, 250, 300, 350, 400, 450], is_smooth=True, # 使用 linestyle_opts 替代 areastyle_opts=opts.AreaStyleOpts(opacity=0.3), # 设置区域填充 linestyle_opts=opts.LineStyleOpts(color=”green”)) # 设置折线颜色为绿色 # 2. 产品B line.add_yaxis(“Product B”, [100, 160, 220, 270, 320, 350, 400], is_smooth=True, # 使用 linestyle_opts 替代 areastyle_opts=opts.AreaStyleOpts(opacity=0.4), # 设置区域填充,透明度为0.4 linestyle_opts=opts.LineStyleOpts(color=”blue”)) # 设置折线颜色为蓝色 # 3. 产品C line.add_yaxis(“Product C”, [80, 120, 180, 230, 270, 320, 360], is_smooth=True, # 使用 linestyle_opts 替代 areastyle_opts=opts.AreaStyleOpts(opacity=0.2), # 设置区域填充,透明度为0.2 linestyle_opts=opts.LineStyleOpts(color=”red”)) # 设置折线颜色为红色 # 设置全局配置项 line.set_global_opts( title_opts=opts.TitleOpts(title=”Product Sales Comparison – Area Line Chart”), xaxis_opts=opts.AxisOpts(name=”Month”), # X 轴名称 yaxis_opts=opts.AxisOpts(name=”Sales (Units)”), # Y 轴名称 tooltip_opts=opts.TooltipOpts(trigger=”axis”), # 鼠标悬停显示提示 legend_opts=opts.LegendOpts(is_show=True) # 显示图例 ) # 渲染图表为 HTML 文件 line.render(“multiple_area_line_chart.html”) 1.添加多个系列: 使用 add_yaxis 方法添加不同的产品(或不同的系列)数据。在每次调用时设置 is_smooth=True 来平滑折线,area_style=opts.AreaStyleOpts(opacity=0.3) 设置折线下方区域的透明度(你可以根据需求调整透明度),并使用 linestyle_opts 设置折线颜色。 2.area_style_opts 的作用: opacity=0.3 表示填充区域的透明度。你可以调整不同系列的透明度,使图表更具层次感。 is_smooth=True 用于平滑折线,让曲线更加平滑。 3.设置全局配置: 使用 set_global_opts 方法配置标题、坐标轴和提示框等全局设置。 legend_opts=opts.LegendOpts(is_show=True) 用于显示图例,这样可以通过点击图例来选择/隐藏不同的系列。 到此这篇关于Python使用Pyecharts绘制各种折线图的实战指南的文章就介绍到这了,更多相关Python Pyecharts绘制折线图内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: python使用pyecharts绘制简单的折线图 python利用json和pyecharts画折线图实例代码 Python可视化神器pyecharts绘制折线图详情 Python绘制折线图可视化神器pyecharts案例 Python pyecharts Line折线图的具体实现 Python pyecharts绘制折线图详解 Python3 pyecharts生成Html文件柱状图及折线图代码实例
  • 目录
    • 基本折线图
    • 多条折线图
    • 平滑折线图
    • 阶梯图
    • 面积折线图
    • 多条面积折线图

    我们一般图表生成的流程如下:

    • 导入需要的模块
    • 准备数据
    • 创建折线图实例
    • 增加数据
    • 渲染图表
    • 结果展示

    # 导入需要的模块
    from pyecharts import options as opts
    from pyecharts.charts import Line
    
    # 初始化折线图
    line = Line()
    
    # 准备数据
    line.add_xaxis(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"])
    line.add_yaxis("Temperature", [20, 22, 24, 26, 28, 30, 32])
    
    # 渲染图表
    line.set_global_opts(
        title_opts=opts.TitleOpts(title="Weekly Temperature"),
        xaxis_opts=opts.AxisOpts(name="Day of Week"),
        yaxis_opts=opts.AxisOpts(name="Temperature (°C)")
    )
    
    #结果展示
    line.render("line_chart.html")
    
    

    如果需要在同一张图表中展示多条折线,比如比较不同城市的温度变化情况,可以使用 add_yaxis 方法添加多条数据。

    line = Line()
    
    # 添加 x 轴数据
    line.add_xaxis(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"])
    
    # 添加多条 y 轴数据
    line.add_yaxis("City A", [22, 24, 26, 28, 30, 32, 34])
    line.add_yaxis("City B", [20, 22, 24, 26, 28, 30, 32])
    
    # 设置全局配置项
    line.set_global_opts(
        title_opts=opts.TitleOpts(title="Weekly Temperature Comparison"),
        xaxis_opts=opts.AxisOpts(name="Day of Week"),
        yaxis_opts=opts.AxisOpts(name="Temperature (°C)"),
        tooltip_opts=opts.TooltipOpts(trigger="axis")
    )
    
    line.render("multi_line_chart.html")
    
    

    Pyecharts 也支持将折线设置为平滑曲线,适合展示连续数据的趋势。

    通过is_smooth=True 参数设置平滑曲线图

    line = Line()
    
    # 添加数据,设置平滑线
    line.add_xaxis(["January", "February", "March", "April", "May", "June", "July"])
    line.add_yaxis("Sales", [150, 200, 250, 300, 350, 400, 450], is_smooth=True)
    
    # 设置全局配置项
    line.set_global_opts(
        title_opts=opts.TitleOpts(title="Monthly Sales"),
        xaxis_opts=opts.AxisOpts(name="Month"),
        yaxis_opts=opts.AxisOpts(name="Sales (Units)")
    )
    
    line.render("smooth_line_chart.html")
    
    

    增加最大值和最小值和平均值

    import pyecharts.options as opts
    from pyecharts.charts import Line
    
    # 数据
    x_data = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    y_data1 = [120, 200, 150, 80, 70, 110, 130]
    y_data2 = [90, 150, 200, 120, 100, 80, 110]
    
    line=(
        # 创建折线图实例
        Line()
        # 将准备好的两组数据添加到折线图实例中
        .add_xaxis(xaxis_data=x_data)
        .add_yaxis(series_name="y1线",y_axis=y_data1,symbol="arrow",is_symbol_show=True)
        .add_yaxis(series_name="y2线",y_axis=y_data2, markpoint_opts=opts.MarkPointOpts(
                data=[
                    opts.MarkPointItem(type_="max", name="最大值"),
                    opts.MarkPointItem(type_="min", name="最小值"),
                ]
            ),
            markline_opts=opts.MarkLineOpts(
                data=[opts.MarkLineItem(type_="average", name="平均值")]
            ))
        .set_global_opts(title_opts=opts.TitleOpts(title="多折线重叠"))
    )
    
    # 渲染图表
    line.render_notebook()
    
    

    在 Pyecharts 中,我们可以通过 add_yaxis 方法中的 step 参数来绘制阶梯图。step 参数可以设置为 True,表示绘制阶梯线。

    from pyecharts.charts import Line
    from pyecharts import options as opts
    
    # 初始化折线图
    line = Line()
    
    # 添加 X 轴数据
    line.add_xaxis(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"])
    
    # 添加 Y 轴数据,并设置为阶梯图
    line.add_yaxis("Sales", [100, 200, 150, 300, 250, 350, 400], is_step=True)
    
    # 设置全局配置项
    line.set_global_opts(
        title_opts=opts.TitleOpts(title="Weekly Sales - Step Chart"),
        xaxis_opts=opts.AxisOpts(name="Day of Week"),
        yaxis_opts=opts.AxisOpts(name="Sales (Units)"),
        tooltip_opts=opts.TooltipOpts(trigger="axis")
    )
    
    # 渲染为本地 HTML 文件
    line.render("step_line_chart.html")
    
    

    通过设置 area_style_opts=opts.AreaStyleOpts(opacity=0.3))

    from pyecharts.charts import Line
    from pyecharts import options as opts
    
    # 创建一个折线图实例
    line = Line()
    
    # 添加 X 轴数据
    line.add_xaxis(["January", "February", "March", "April", "May", "June", "July"])
    
    # 添加 Y 轴数据,并设置为面积折线图
    line.add_yaxis("Sales", [150, 200, 250, 300, 350, 400, 450], 
                   is_smooth=True, 
                   area_style_opts=opts.AreaStyleOpts(opacity=0.3))
    
    # 设置全局配置项
    line.set_global_opts(
        title_opts=opts.TitleOpts(title="Monthly Sales - Area Line Chart"),
        xaxis_opts=opts.AxisOpts(name="Month"),
        yaxis_opts=opts.AxisOpts(name="Sales (Units)"),
        tooltip_opts=opts.TooltipOpts(trigger="axis")
    )
    
    # 渲染为本地 HTML 文件
    line.render("area_line_chart.html")
    
    

    from pyecharts.charts import Line
    from pyecharts import options as opts
    
    # 创建 Line 图实例
    line = Line()
    
    # 添加 X 轴数据(这里以月份为例)
    line.add_xaxis(["January", "February", "March", "April", "May", "June", "July"])
    
    # 添加多个 Y 轴数据,并设置为面积折线图
    # 1. 产品A
    line.add_yaxis("Product A", 
                   [150, 200, 250, 300, 350, 400, 450], 
                   is_smooth=True,  # 使用 linestyle_opts 替代
                   areastyle_opts=opts.AreaStyleOpts(opacity=0.3),  # 设置区域填充
                   linestyle_opts=opts.LineStyleOpts(color="green"))  # 设置折线颜色为绿色
    
    # 2. 产品B
    line.add_yaxis("Product B", 
                   [100, 160, 220, 270, 320, 350, 400], 
                   is_smooth=True,  # 使用 linestyle_opts 替代
                   areastyle_opts=opts.AreaStyleOpts(opacity=0.4),  # 设置区域填充,透明度为0.4
                   linestyle_opts=opts.LineStyleOpts(color="blue"))  # 设置折线颜色为蓝色
    
    # 3. 产品C
    line.add_yaxis("Product C", 
                   [80, 120, 180, 230, 270, 320, 360], 
                   is_smooth=True,  # 使用 linestyle_opts 替代
                   areastyle_opts=opts.AreaStyleOpts(opacity=0.2),  # 设置区域填充,透明度为0.2
                   linestyle_opts=opts.LineStyleOpts(color="red"))  # 设置折线颜色为红色
    
    # 设置全局配置项
    line.set_global_opts(
        title_opts=opts.TitleOpts(title="Product Sales Comparison - Area Line Chart"),
        xaxis_opts=opts.AxisOpts(name="Month"),  # X 轴名称
        yaxis_opts=opts.AxisOpts(name="Sales (Units)"),  # Y 轴名称
        tooltip_opts=opts.TooltipOpts(trigger="axis"),  # 鼠标悬停显示提示
        legend_opts=opts.LegendOpts(is_show=True)  # 显示图例
    )
    
    # 渲染图表为 HTML 文件
    line.render("multiple_area_line_chart.html")
    
    

    1.添加多个系列:

    使用 add_yaxis 方法添加不同的产品(或不同的系列)数据。在每次调用时设置 is_smooth=True 来平滑折线,area_style=opts.AreaStyleOpts(opacity=0.3) 设置折线下方区域的透明度(你可以根据需求调整透明度),并使用 linestyle_opts 设置折线颜色。

    2.area_style_opts 的作用:

    • opacity=0.3 表示填充区域的透明度。你可以调整不同系列的透明度,使图表更具层次感。
    • is_smooth=True 用于平滑折线,让曲线更加平滑。

    3.设置全局配置:

    • 使用 set_global_opts 方法配置标题、坐标轴和提示框等全局设置。
    • legend_opts=opts.LegendOpts(is_show=True) 用于显示图例,这样可以通过点击图例来选择/隐藏不同的系列。

    到此这篇关于Python使用Pyecharts绘制各种折线图的实战指南的文章就介绍到这了,更多相关Python Pyecharts绘制折线图内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • python使用pyecharts绘制简单的折线图
    • python利用json和pyecharts画折线图实例代码
    • Python可视化神器pyecharts绘制折线图详情
    • Python绘制折线图可视化神器pyecharts案例
    • Python pyecharts Line折线图的具体实现
    • Python pyecharts绘制折线图详解
    • Python3 pyecharts生成Html文件柱状图及折线图代码实例

    站内搜索