Plotly与Matplotlib和Chart Studio2025年3月17日 | 阅读20分钟 Matplotlib流行的 Python 数据可视化工具 Matplotlib 可以创建静态但生产就绪的图形。plotly.tools 包中的 mpl_to_plotly() 函数允许您将静态 Matplotlib 图转换为交互式图形。 以下脚本使用 Matplotlib 的 PyPlot API 生成正弦波折线图。 现在我们将按如下方式将其转换为 plotly 图形? 输出 以下程序的输出将是 ![]() Chart StudioPlotly 提供了 Chart Studio,这是一个在线绘图工具。它提供了一个图形用户界面,用于将数据添加到网格、使用统计工具和分析数据。图形可以下载或嵌入。它主要用于使图形创建更快、更有效。 登录您的 Plotly 帐户后,访问 URL https://plot.ly/create 以启动 Chart Studio 应用程序。在图表区域下方,网页提供了一个空白工作表。可以通过选择“添加跟踪”按钮在 Chart Studio 中添加图表跟踪。 ![]() 该菜单提供了保存、导出和共享图表以及包括注释、样式和其他在内的多个图表结构组件的功能。 向工作表添加一些数据,然后从可用跟踪类型中选择条形图。 ![]() 单击类型文本框,然后选择条形图。 ![]() 然后,通过提供 x 轴和 y 轴的数据列来输入图表标题。 ![]() 安装使用终端中的包管理器 pip 安装 Chart Studio 的 Python 包。 如果您尚未在计算机上安装 pip,请单击此处获取 pip 的安装说明。 或 Plotly 的 Python 包与 Chart Studio 包一起安装,并经常更新!要升级,请运行 在线绘图初始化Chart Studio 提供了一个用于托管图形的 Web 服务!创建免费帐户即可开始。图形保存在您的在线 Chart Studio 帐户中,并由您控制隐私。公共托管是免费的;请查看我们的付费计划以获取私有托管。 安装 Chart Studio 包后,您就可以启动 Python 了 Python 并设置您的凭据 您需要将“DemoAccount”和“lr1c37zw81”替换为您的 Plotly 用户名和 API 密钥。 初始化步骤会将一个特殊的 .plotly/.credentials 文件放置在您的主目录中。您的 ~/.plotly/.credentials 文件应如下所示 在线图表隐私图表提供了三种隐私设置:公共、私有和秘密。 公共:此图表对所有人开放。它可以在搜索引擎结果和您的个人资料中显示。无需登录 Chart Studio 即可查看此图表。 此图表是私有的,只有您可以查看。它不会出现在搜索结果、您的个人资料或 Plotly feed 中。要访问此图表,您必须登录 Plotly。如果您授予其他 Chart Studio 用户访问您的在线 Chart Studio 帐户的权限,他们可以私有地阅读此图表。他们必须登录才能执行此操作。 默认情况下,所有图表都设置为公共。免费帐户用户可以保留一个私有图表。如果您需要保存私有图表,请升级到专业帐户。如果您是个人或专业用户,并希望您的图表的默认设置是私有的,您可以编辑您的 Chart Studio 配置 Chart Studio Enterprise 用户特别说明您的公共云帐户的 API 密钥将不同于 Chart Studio Enterprise 的 API 密钥。要查找您的 Chart Studio Enterprise API 密钥,请访问 https://plotly.your-company.com/settings/api/。不要忘记用您的 Chart Studio Enterprise 服务器的 URL 替换“your-company.com”。如果您的公司有 Chart Studio Enterprise 服务器,请将 Python API 端点更改为指向您公司的 Plotly 服务器,而不是 Plotly 的云。 在 Python 中, 如果您希望使用 Plotly 的默认图表外观,您可以使用 Python 编辑图表。通常,我们先看到可视化,然后再看到数据,而不是反之。Plotly 有助于通过 matplotlib 或 Plotly API 进行快速探索。 数据可视化有助于探索、理解和传达隐藏在数据中的见解和相关性。良好的可视化是数据科学的核心,无论是用于初步的探索性研究还是向非技术同事的演示。选择哪种可视化工具取决于数据的类型、可视化的目标以及您希望达到的美学效果。在本篇文章中,我将对比和演示如何使用两个流行的 Python 可视化工具——matplotlib 和 Plotly。 Matplotlib 与 Plotly:使用 Matplotlib 绘制数据在 Python 中绘制数据的最简单方法是 Matplotlib。用户可以像在 MATLAB 中绘图一样,完全灵活地控制字体、线型、颜色和轴属性。即使需要额外的代码行,这也使得能够进行全面的自定义并精确控制每个图的美学效果。Basemap 和 Cartopy 是两个第三方工具,它们增强了 matplotlib 的功能,非常适合可视化地理和地图类数据。Seaborn 和 Holoviews 提供了更高级别的接口,带来了更自然的用户体验。Panda 包还包括 Matplotlib,为用户提供了一种快速有效的探索性分析工具。 我将使用 pandas 和 Basemap,Basemap 不包含在标准 matplotlib 安装中。您可以按照此处的说明安装 Basemap。 为了展示 matplotlib 的多功能性,让我们导入几个不同的数据集 从 UCI 机器学习存储库中获取了两个不同的数据集。第一个是关于葡萄酒的数据集,该数据集提供了在同一个意大利地区生产的葡萄酒的 178 个精确观测值。构成每次观测的 13 个特征是化学分析的结果。 ax = wine_df.plot(kind = 'scatter', x = 'Alcohol', y = 'OD280/OD315', c= 'Class', figsize=(12,8), colormap='jet') 您会发现,每一个额外的叙述性元素都需要额外的代码行。这并不一定增加复杂性,因为 Python 是一种清晰的语言,初学者可以理解每一行。使用 matplotlib 添加其他绘图功能很简单,例如圆圈、线条、文本甚至指示箭头。您可以在此处找到展示此内容的示例。 之前的图表通过显示两个特征足以将观测值分为三个不同的簇,从而提供了有价值的信息。可视化相当直接。我们可以使用 Basemap 来绘制 El Nino 数据集中的每艘浮标的温度数据,以展示一个稍微复杂一些的示例。 Matplotlib 及其基于它的众多第三方包提供了用于绘制各种类型数据的有效工具。尽管语法上有些困难,但创建适合出版物或专家演示的高质量静态可视化是一种很好的方法。 Matplotlib 与 Plotly:使用 Plotly 绘制数据Plotly 是另一个优秀的 Python 可视化工具,可用于地理、学术、统计和金融数据。Plotly,有时称为 Plotly,是一家公司品牌,为各种编程语言生产全系列可视化工具,所有这些工具都支持创建基于 Web 的交互式可视化甚至 Web 应用程序。Plotly 在许多方面优于 matplotlib。 在首次检查数据集时节省时间。 方便修改和导出您的图表 并提供更详细的可视化,非常适合传达数据集中隐藏的重要见解。 Plotly 提供了一些功能,使其能够轻松地与 pandas 交互以提高绘图效率,就像 matplotlib 一样。 Plotly 的早期版本提供了离线和在线选项。无论您如何生成它们,当您在线使用 plotly 时,您的数据可视化都会自动上传,以便您可以通过 Web 界面访问它们。虽然 Chart Studio 仍提供此功能,但我将使用离线版本。 Plotly Express 是检查 pandas 数据帧的绝佳选择。它是最新版本 Plotly 中包含的高级包装器。要创建与我们使用 matplotlib 创建的散点图类似的散点图,请运行 随意玩弄图表的交互式功能。可以清楚地看出,plotly 能够轻松地创建优于 matplotlib 的可视化。 它还可以轻松处理 El Nino 数据集中的温度数据。试试这个 请注意,当您将鼠标光标移到每艘浮标上时,都会显示浮标编号、温度值和位置信息。这些都是 Plotly 默认提供的,几乎只触及了它功能的皮毛。 Matplotlib 与 Plotly:结论总之,matplotlib 是一个简单快速的 Python 可视化工具。它更适合早期探索性调查或简单设计,因为创建比基本图更复杂的图形所需的词汇量。由于每个图表元素的精确且逻辑的声明,Matplotlib 是初学者开始数据可视化教育的绝佳起点。 另一方面,Plotly 是一个更高级的数据可视化工具,更适合快速生成复杂的图表。Plotly 的交互式功能和精美的美学效果是不可忽视的优势。 下载并安装适用于 Windows 10 或 CentOS 7 的“数据绘图”运行时环境,或通过创建免费的 ActiveState Platform 帐户,创建仅包含您项目所需包的唯一 Python 运行时环境。 JupyterLab 支持 -要在 jupyterrlab 中使用 Plotly,请使用 pip 安装 jupyterlab 和 ipywidget 包 您需要 jupyter-dash 才能将滑块、下拉菜单和按钮等小部件添加到 JupyterLab 中的 Plotly 图表中 要启动 jupyterLab,请键入以下命令 Jupyter Notebook 支持 -如果您想在经典的 jupyter notebook 中使用 plotly,请使用 pip 安装 Jupyter Notebook 和 ipywidgets 要在命令行或终端中启动 jupyter notebook,请键入以下命令 Chart studio 支持 -chart-studio 包可以将 plotly 图形上传到 Plotly 的 Chart Studio Cloud 或 On-Prem 服务。可以使用 pip 安装此包。 Plotly Python 示例,附带代码和数据为了创建一个图形环境,您可以在其中创建图表并显示图形,您必须首先使用 Zeppelin 或 Jupyter Notebook。 然后,像这样将 Plotly 添加到 Python Plotly 是一个流行的 Python 库,用于构建引人入胜且引人注目的数据可视化。它具有与 Chart Studio 的交互功能,用于在线共享和协作,创建图表和图形的高级接口,以及用于增强自定义的 Matplotlib。使用 Plotly、Matplotlib 和 Chart Studio 创建、自定义和共享交互式数据可视化。 第一部分:环境设置在使用 Plotly 结合 Matplotlib 和 Chart Studio 之前,您必须确保已安装所需的库。使用 pip,您可以安装以下库 安装完库后,您可以将它们导入到您的 Python 脚本中 第二部分:使用 Plotly 创建基本可视化Plotly 提供了一个简单直观的 API 来创建各种类型的图表。让我们从使用 Plotly 的 scatter 函数创建基本的散点图开始 此代码使用 Plotly 生成散点图,并在您的 Jupyter Notebook 中或作为单独的 HTML 文件显示它。 第三部分:使用 Matplotlib 集成增强可视化虽然 Plotly 功能强大,但将其与 Matplotlib 结合可以增强您的可视化效果。您可以通过 Matplotlib 精确控制图表的显示方式。使用 Plotly 中的 to_mpl() 方法可以合并两者 借助 Plotly,创建散点图,转换为 Matplotlib 图形,然后进行自定义,最后进行显示。得益于此连接,您可以通过利用 Matplotlib 的全部功能来优化您的可视化。 第四部分:使用 Plotly 的交互式功能Plotly 的交互性是其主要优势之一。您可以快速添加交互式元素,如悬停工具提示和缩放,以实现对图表的控制。让我们更新我们的散点图以包含悬停信息 现在,当您将鼠标悬停在数据点上时,将显示标签。 第五部分:使用 Chart Studio 共享可视化Chart Studio 是 Plotly 用于在线协作和数据可视化共享的平台。您可以快速将 Plotly 数据提交到 Chart Studio 以便与他人共享。您必须首先在 Chart Studio 网站上注册一个帐户。 创建帐户后,您可以使用 py.plot() 函数将 Plotly 图形上传到 Chart Studio 将“your_username”和“your_api_key”替换为您的 Chart Studio 帐户详细信息。py.plot() 函数将上传图形并将其在默认 Web 浏览器中打开。之后,您可以邀请人们通过发送生成的 URL 来参与可视化。 PlotlyPython 图形模块 Plotly 使您能够设计引人入胜且动态的数据可视化。它提供了各种高级接口来创建多种类型的图表,如散点图、条形图、折线图等。 Plotly 的重要属性包括Plotly 可视化默认带有交互式功能。您可以包含悬停工具提示、缩放、平移等功能,以吸引您的观众并展示有关数据的详尽信息。 易用性:Plotly 的语法简单直观,适合新手和经验丰富的数据科学家。相比之下,它通常比其他可视化框架需要更少的代码行。 在线平台:Plotly 提供了一个名为 Chart Studio 的工具,该工具允许您发布、共享和与他人合作进行可视化项目。 集成:Plotly 可以轻松地与其他库(如 Pandas、NumPy 和 Matplotlib)集成,从而提供更大的灵活性和自定义能力。 这是一个使用 Plotly 创建折线图的示例 Matplotlib 与 Plotly 集成另一个流行的 Python 库是 Matplotlib,用于生成静态、高度可定制的可视化。您可以结合使用 Plotly 和 Matplotlib 来利用每个库的优势。您可以使用 Plotly 创建图表,然后将其转换为 Matplotlib 图形以进行更精细的自定义。 此处显示了 Matplotlib 集成的示例 Chart Studio 是 Plotly 在线共享、协作和发布交互式数据可视化的平台。您可以 发布可视化:您可以将 Plotly 数据添加到 Chart Studio,并将您的可视化共享为独立的网页或应用程序。 Chart Studio 支持协作,允许多个用户同时编辑同一个可视化。 自定义:在 Chart Studio 中,您可以添加注释、修改数据并进一步自定义图表的布局。 控制可视化隐私:Chart Studio 提供管理可视化隐私设置的工具。您可以使它们对所有人可见,仅对选定的用户可见,或设为私有。 下面提供了一个如何将 Plotly 图形上传到 Chart Studio 的示例 将“your_username”和“your_api_key”替换为您的 Chart Studio 帐户详细信息。py.plot() 函数将上传图形,您可以提供对所生成 URL 的访问权限。 对于理解和传达数据见解至关重要的数据可视化。Python 中有其他可视化包。然而,Plotly 因其交互式功能而脱颖而出。此外,您还可以使用 Chart Studio 进行在线共享和协作,将 Plotly 与 Matplotlib 结合进行精细自定义,等等。本教程将全面介绍如何使用 Plotly、将其与 Matplotlib 结合并利用 Chart Studio 来创建、增强和共享交互式数据可视化。 Plotly 是一个强大的 Python 包,专注于生成引人入胜且交互式的数据可视化。它是一个灵活的工具,支持多种图表格式,从简单的散点图到复杂的三维可视化和地理地图。Plotly 以其对交互的关注而脱颖而出,使其成为数据探索和显示的绝佳选择。 Plotly 的主要功能Plotly 具有多个功能,使其成为数据科学家和分析师的首选,包括 Plotly 可视化旨在具有交互性。您可以包含悬停工具提示、缩放、平移和单击事件等功能,以吸引您的受众并为他们提供更多数据上下文。 易用性:Plotly 提供了一个简单的 API,使您只需少量代码即可构建复杂的可视化。因此,新用户和经验丰富用户都可以使用它。 在线平台:Plotly 提供了一个名为 Chart Studio 的工具,允许您上传和分发您的可视化。此外,该平台还促进协作,使团队合作任务更加轻松。 集成:Plotly 与 Pandas、NumPy 和 Matplotlib 等其他 Python 库无缝集成。这允许您利用现有的数据分析工作流。 2. Plotly 入门安装 在使用 Plotly 之前,您需要安装它。您可以使用 pip 完成此操作 基本 Plotly 用法Plotly 提供各种高级接口来创建各种图表和图形。以下是使用 Plotly 创建简单散点图的示例 在此示例中,我们导入 Plotly,创建散点图,并添加标题和轴标签。最后,我们使用 Fig.show() 来可视化图表。 创建简单的散点图
3. 使用 Matplotlib 增强可视化虽然 Plotly 功能强大,但将其与 Matplotlib 结合可以增强您的可视化效果。在精细自定义方面,Matplotlib 以提供对图表的完全控制而闻名。 Plotly 与 Matplotlib 结合。 Plotly 和 Matplotlib 可以轻松地一起使用。使用 Plotly,您可以创建一个可以稍后转换为 Matplotlib 图形以进行进一步自定义的图表。以下是实现这一目标的方法 在此示例中,我们首先使用 Plotly 构建散点图,然后使用 fig.to_mpl() 将其转换为 Matplotlib 图形。转换后,使用 plt.show() 对 Matplotlib 图形进行进一步自定义(添加标题和轴标签),然后显示。 将 Plotly 图形转换为 Matplotlib将 Plotly 图形转换为 Matplotlib 图形的关键是 fig.to_mpl() 方法。它保留了 Plotly 图的视觉特征,同时允许您使用 Matplotlib 的可自定义功能。 使用 Matplotlib 进行改编 Matplotlib 能够精确控制图表外观的能力是其优势之一。线型、标记类型、颜色、注释和其他功能均可配置。以下是修改从 Plotly 图派生的 Matplotlib 图的示例 在此示例中,通过调用 Matplotlib 图上的 plt.grid(True) 来添加网格线。这只是 Matplotlib 提供的众多自定义选项之一。 4. 使用 Plotly 添加交互性Plotly 的突出特点之一是其交互性。您可以轻松地在可视化中添加交互式元素,以吸引受众并提供额外的见解。 悬停工具提示 当用户将鼠标悬停在数据点上时,悬停工具提示是显示额外信息的绝佳方式。以下是如何为 Plotly 散点图添加悬停工具提示的方法 在此示例中,我们在数据中添加了一个“label”列,并在 px.scatter 中使用 text 参数来指示应将“label”列显示为悬停文本。可以使用 textposition 选项调整标签相对于数据点的位置。 缩放和平移Plotly 的内置缩放和平移功能使人们可以轻松地彻底研究数据。这些选项已在 Plotly 可视化中预先安装。用户可以通过单击并拖动图表进行平移,并通过选择图表的一部分来进行缩放。 添加标注注释是为可视化提供上下文和解释的有效方法。您可以注释特定的图表点或数据点。以下是如何注释 Plotly 散点图的示例 在此示例中,我们将使用 fig.add_annotation 在坐标 (3, 12) 处添加一个标有“Important Point”的注释。我们修改了注释的外观,包括箭头、文本颜色和大小。 5. 使用 Chart Studio 进行共享和协作Chart Studio 是 Plotly 用于共享、协作和发布数据可视化的在线平台。它简化了使您的交互式图表可供他人访问的过程。 Chart Studio 简介 Chart Studio 可通过基于 Web 的界面访问,它提供以下优势 在线共享:通过将 Plotly 可视化上传到 Chart Studio,可以将其作为独立的网页共享。这对于向非技术利益相关者和更广泛的受众传播信息尤其有用。 实时协作编辑:Chart Studio 支持实时协作编辑。多个用户可以同时协作处理同一个可视化,因此它是团队任务的有效工具。 云端自定义:您可以在 Chart Studio 中为 Plotly 可视化添加更多自定义。这意味着您可以在不重新开始的情况下修改可视化。 Chart Studio 提供多种隐私设置。您可以完全控制谁可以看到您的作品,因为您可以决定是公开、私有还是仅与选定个人共享您的可视化。 嵌入:Chart Studio 可以轻松地将您的交互式可视化嵌入到网站、博客、报告和应用程序中。这使得您的数据驱动内容更加易于访问。 将可视化上传到 Chart Studio 要开始使用 Chart Studio,您必须在 Chart Studio 网站上创建一个帐户。创建帐户后,您可以上传 Plotly 图形并进行共享。以下是如何将 Plotly 图形上传到 Chart Studio 的示例 在此代码中,将“your_username”和“your_api_key”替换为您 Chart Studio 帐户的登录信息。使用 tools.set_credentials_file 方法设置您的凭据,并使用 py.plot 将 Plotly 图形上传到 Chart Studio。可视化也将自动在您的默认 Web 浏览器中启动。 协作和隐私控制您可以使用 Chart Studio 与他人协作处理您的可视化。当您共享链接时,多个用户可以同时协作处理您的可视化。此外,Chart Studio 还有其他隐私选项 公共:您的可视化对所有人可见。 私有:只有您,创建者,可以访问该可视化。 共享:您可以限制哪些用户可以访问该可视化。 可视化集成 将您的 Chart Studio 可视化集成到其他平台非常简单。可以将 Chart Studio 的嵌入代码添加到网站、博客或软件程序中。因此,您可以轻松地将交互式故事线融入您的数字内容中。 6. 高级 Plotly 功能Plotly 提供超越基础的高级功能和能力。让我们探索其中一些高级功能。 Plotly Express Plotly Express 是一个高级接口,用于使用最少的代码创建各种可视化。它简化了创建复杂图表的流程。以下是 Plotly Express 条形图的示例 结论总之,将 Plotly 与 Chart Studio、Matplotlib 和其他工具结合使用,为创建、自定义和共享交互式数据可视化提供了一种强大的方法。Plotly 增强了您创建交互式和动态图表的能力,而 Matplotlib 是用于静态绘图的著名 Python 包。您可以使用 Plotly 的功能 Chart Studio 在线共享和协作这些交互式图表。 您可以按照上一条评论中的说明,轻松地从 Matplotlib 图切换到 Plotly 图,添加交互性,并将其发布到 Chart Studio 以进行在线共享和协作。这种库和工具的组合提供了一种灵活且用户友好的方法,用于在从数据分析到演示和报告的各种场景中创建和共享数据可视化。 |
我们请求您订阅我们的新闻通讯以获取最新更新。