#推荐
深入解析 Python 绘图工具:Matplotlib、Seaborn 和 Pyecharts 散点图的实现技巧

2024-12-07 13,205

数据可视化

  1. 借助 matplotlib 库实现:
    import matplotlib.pyplot as plt
    
    # 数据准备
    x = [1, 2, 3, 4, 5]
    y = [10, 20, 25, 30, 35]
    
    # 创建图表
    plt.scatter(x, y, color='blue', label='数据点')
    plt.title('Matplotlib 散点图示例')
    plt.xlabel('X轴标签')
    plt.ylabel('Y轴标签')
    plt.legend()
    plt.grid(True)
    
    # 显示图表
    plt.show()
    

     

    深入解析 Python 绘图工具:Matplotlib、Seaborn 和 Pyecharts 散点图的实现技巧
    matplotlib 库

    1. 导入所需的库:import matplotlib.pyplot as plt
    2. 创建数据:x = [1, 2, 3, 4, 5]y = [2, 3, 5, 7, 11]
    3. 绘制散点图:plt.scatter(x, y, label='数据点', color='blue', marker='o')
    4. 添加标签和标题:使用 plt.xlabel('X轴标签')plt.ylabel('Y轴标签')plt.title('散点图示例')
    5. 增加图例与网格:通过 plt.legend()plt.grid(True)
    6. 显示图形:调用 plt.show()
      # 实现代码
      import matplotlib.pyplot as plt
      
      x = [1, 2, 3, 4, 5]
      y = [2, 3, 5, 7, 11]
      
      plt.scatter(x, y, label='数据点', color='blue', marker='o')
      plt.xlabel('X轴标签')
      plt.ylabel('Y轴标签')
      plt.title('散点图示例')
      plt.legend()
      plt.grid(True)
      
      plt.show()
      

       

    Seaborn 库

    1. 导入必要的库:import seaborn as snsimport matplotlib.pyplot as plt
    2. 创建数据:x = [1, 2, 3, 4, 5]y = [2, 3, 5, 7, 11]
    3. 绘制散点图:使用 sns.scatterplot(x=x, y=y, label='数据点')
    4. 添加标签和标题:调用 plt.xlabel('X轴标签')plt.ylabel('Y轴标签')plt.title('散点图示例')
    5. 增加图例与网格:通过 plt.legend()plt.grid(True)
    6. 显示图形:使用 plt.show()
      # 实现代码
      import seaborn as sns
      import matplotlib.pyplot as plt
      
      x = [1, 2, 3, 4, 5]
      y = [2, 3, 5, 7, 11]
      
      sns.scatterplot(x=x, y=y, label='数据点')
      plt.xlabel('X轴标签')
      plt.ylabel('Y轴标签')
      plt.title('散点图示例')
      plt.legend()
      plt.grid(True)
      
      plt.show()
      

       

    Pyecharts 库

    1. 导入必要模块:from pyecharts.charts import Scatterfrom pyecharts import options as opts
    2. 创建数据:data = [(1, 2), (2, 3), (3, 5), (4, 7), (5, 11)]
    3. 创建散点图对象:使用 scatter = Scatter().add_xaxis([x for x, y in data]).add_yaxis("数据点", [y for x, y in data])
    4. 设置系列选项:调用 set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    5. 设置全局选项:通过 set_global_opts(title_opts=opts.TitleOpts(title="散点图示例"), xaxis_opts=opts.AxisOpts(name="X轴"), yaxis_opts=opts.AxisOpts(name="Y轴"))
      1. 确认所需库已安装
        确保已经安装了 pyecharts 及相关依赖。可以通过以下命令安装:

        pip install pyecharts
      2. 检查 Jupyter Notebook 版本
        请确保使用的 Jupyter Notebook 版本支持 render_notebook() 方法。通常较新版本的 Jupyter Notebook 能正常支持。
      3. 使用 render() 方法保存为 HTML 文件
        如果 render_notebook() 无法正常工作,可以尝试将图表渲染为 HTML 文件并手动打开:

        # 渲染图表并保存为 HTML 文件
        scatter.render("scatter_plot.html")

        保存完成后,在文件管理器中找到 scatter_plot.html 文件并双击打开查看图表。

      4. 使用 IFrame 在 Notebook 中显示 HTML 文件
        如果需要在 Jupyter Notebook 中直接显示 HTML 文件,可以使用 IPython.display.IFrame 实现:

        from IPython.display import IFrame

        # 渲染图表并保存为 HTML 文件
        scatter.render("scatter_plot.html")

        # 在 Notebook 中显示 HTML 文件
        IFrame('scatter_plot.html', width=800, height=600)

      5. 检查是否有其他输出干扰
        在某些情况下,Jupyter Notebook 中的其他输出可能会干扰图表显示。确保在执行绘图代码时没有其他不必要的输出。
      6. 重启 Jupyter Notebook
        如果上述方法均无效,尝试重启 Jupyter Notebook 服务器。这通常可以解决一些临时性的问题。

        渲染图表:在 Jupyter Notebook 中使用 render_notebook(),在普通 Python 脚本中使用 render("scatter_plot.html")

        # 实现代码
        from pyecharts.charts import Scatter
        from pyecharts import options as opts
        
        data = [(1, 2), (2, 3), (3, 5), (4, 7), (5, 11)]
        
        scatter = (
            Scatter()
            .add_xaxis([x for x, y in data])
            .add_yaxis("数据点", [y for x, y in data])
            .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
            .set_global_opts(
                title_opts=opts.TitleOpts(title="散点图示例"),
                xaxis_opts=opts.AxisOpts(name="X轴"),
                yaxis_opts=opts.AxisOpts(name="Y轴")
            )
        )
        
        # 渲染输出
        scatter.render("scatter_plot.html")
        

        注意事项
        如果你在 Jupyter Notebook 中运行代码时发现图表未能正确显示,可能是由于 render_notebook() 方法未正常执行,或者你的运行环境配置存在问题。以下是一些可能的解决方案:

      三种绘图库的特点对比

      特点 适用场景
      matplotlib 基础绘图库,支持高度自定义,生成静态图表 科研论文,数据分析报告
      seaborn 基于 matplotlib,提供更美观的样式 统计分析,探索性数据分析
      pyecharts 交互性强,适合动态网页展示 数据展示,交互式仪表盘

      选择建议

      1. 如果需要生成科研或数据分析中的静态图表,matplotlib 是基础且可靠的选择。
      2. 对于需要更加美观效果和简化统计分析的场景,seaborn 提供了用户友好的界面。
      3. 若需要在网页中展示交互式图表,pyecharts 可以生成具有交互功能的 HTML 文件,非常适合网络发布和数据展示。
收藏 打赏

感谢您的支持,我会继续努力的!

打开USDT(trc-20)扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

Ts:本站所有内容均为互联网收集整理和网友上传。仅限于学习研究,请必须在24小时内删除。否则由此引发的法律纠纷及连带责任本站概不承担。

如侵犯到您的合法权益,请联系我们删除侵权资源!

韩仔技术 自学开发 深入解析 Python 绘图工具:Matplotlib、Seaborn 和 Pyecharts 散点图的实现技巧 https://www.hanzijs.com/zixue/3742.html

相关文章

发表评论
1 条评论
2024年12月11日 am9:59 回复

Your blog has quickly become one of my favorites. Your writing is both insightful and thought-provoking, and I always come away from your posts feeling inspired. Keep up the phenomenal work!