提示:这里可以添加学习目标
Plotly Express是一个新的高级 Python 可视化库:它是Plotly.py的包装器,为复杂图表提供了简单的语法。受 Seaborn 和 ggplot2 的启发,它专门设计为具有简洁、一致且易于学习的 API:只需一次导入,您就可以在一次函数调用中制作丰富的交互式绘图,包括分面、地图、动画、和趋势线。它带有板载数据集、色标和主题,就像 Plotly.py 一样,Plotly Express 是完全免费的:凭借其宽松的开源 MIT 许可证,您可以随心所欲地使用它(是的,即使在商业产品中! ). 最重要的是,Plotly Express 与 Plotly 生态系统的其余部分完全兼容:在你的Dash中使用它应用程序,使用 Orca将您的图形导出为几乎任何文件格式,或使用JupyterLab 图表编辑器在 GUI 中编辑它们!
如果您是TL;DR类型,只需pip install plotly转到我们的演练笔记本或画廊或参考文档开始尝试,否则请继续阅读以了解 Plotly Express 的特别之处。如果您有任何反馈或想查看代码,都可以在 Github 上找到。
提示:这里可以添加要学的内容
用于生成以下屏幕截图的代码可在我们的演练笔记本中找到,您可以将其加载到 Binder上,立即在浏览器中使用,无需安装任何东西。
一旦您导入 Plotly Express(通常为px),大多数绘图都是通过一个接受整洁的 Pandas 数据框的函数调用和您想要制作的绘图的简单描述来制作的。如果你想要一个基本的散点图,它只是px.scatter(data, x=“column_name”, y=“column_name”).
这是一个Gapminder 数据集的例子——它是内置的!– 显示 2007 年各国的预期寿命与人均 GPD:
如果你想按大陆分解,你可以用color参数给你的点着色并px处理细节,分配默认颜色,设置图例等:
这里的每个点都是一个国家,所以也许我们想按国家人口来衡量这些点……没问题:这也有一个参数!毫不奇怪,它被称为size:
好奇哪一点是哪个国家?添加一个hover_name,您就可以轻松识别任何点:再也不会想知道“那个异常值是什么?”…只需将鼠标悬停在您感兴趣的点上!事实上,整个情节是互动的,即使没有hover_name:
这是上图的嵌入式版本,您可以在此处与之交互。尝试将鼠标悬停在点上,单击或双击图例项,或使用将鼠标移入框架时出现的“模式栏”来控制行为单击拖动交互(缩放、平移、选择):
您还可以对绘图进行分面以区分大陆,就像使用 为点着色一样容易facet_col=“continent”,让我们使 x 轴对数化以便在我们处理它时更清楚地看到事物:
也许您不仅对 2007 年感兴趣,还想了解这张图表是如何随时间演变的。您可以通过设置对其进行动画处理animation_frame=“year”(并animation_group="country"确定哪些圆圈与哪些跨帧匹配)。在这个最终版本中,我们还要在这里调整一些显示,因为像“gdpPercap”这样的文本有点难看,尽管它是我们数据框列的名称。我们可以提供更漂亮labels的应用程序,用于整个图形、图例、轴标题和悬停。我们还可以提供一些手动边界,这样整个动画看起来都不错:
因为这是地理数据,我们也可以将其表示为动画地图,这清楚地表明,px不仅仅是散点图,而且这个数据集缺少前苏联的数据。