使用 Python 进行数据可视化之Plotly

x33g5p2x  于2021-11-09 转载在 Python  
字(3.5k)|赞(0)|评价(0)|浏览(547)

直接跳到末尾****去评论区领书

上一篇文章我们介绍了 Bokeh,接下来让我们继续我们列表的第四个库。这是我们列表中的最后一个库,您可能想知道为什么用Plotly。以下就是它的优点——

  • Potly 具有悬停工具功能,使我们能够检测众多数据点中的任何异常值或异常情况。
  • 它允许更多的定制。
  • 它使图形在视觉上更具吸引力。

安装

要安装它,请在终端中输入以下命令。

  1. pip install plotly

散点图

散点图中Plotly可以使用被创建scatter()plotly.express的方法。和 Seaborn 一样,这里也需要一个额外的数据参数。

例子:

  1. import plotly.express as px
  2. import pandas as pd
  3. # 读取数据库
  4. data = pd.read_csv("tips.csv")
  5. # 绘制散点图
  6. fig = px.scatter(data, x="day", y="tip", color='sex')
  7. # 显示plot
  8. fig.show()

输出:

折线图

Plotly 中的折线图看起来比较直观,并且是 plotly 的杰出合并,它管理各种类型的数据并组装易于样式的统计数据。使用px.line 将每个数据位置表示为一个顶点

例子:

  1. import plotly.express as px
  2. import pandas as pd
  3. # 读取数据库
  4. data = pd.read_csv("tips.csv")
  5. # 绘制散点图
  6. fig = px.line(data, y='tip', color='sex')
  7. # 显示plot
  8. fig.show()

条形图

Plotly 中的条形图可以使用 plotly.express 类的 bar() 方法创建。

例子:

  1. import plotly.express as px
  2. import pandas as pd
  3. # 读取数据库
  4. data = pd.read_csv("tips.csv")
  5. # 绘制散点图
  6. fig = px.bar(data, x='day', y='tip', color='sex')
  7. # 显示情节
  8. fig.show()

输出:

直方图

在plotly,直方图可以使用plotly.express类的histogram()函数创建。

例子:

  1. import plotly.express as px
  2. import pandas as pd
  3. # 读取数据库
  4. data = pd.read_csv("tips.csv")
  5. # 绘制散点图
  6. fig = px.histogram(data, x='total_bill', color='sex')
  7. # 显示 plot
  8. fig.show()

输出:

添加交互

就像 Bokeh 一样,plotly 也提供了各种交互。让我们讨论其中的几个。

创建下拉菜单:下拉菜单是菜单按钮的一部分,始终显示在屏幕上。每个菜单按钮都与一个菜单小部件相关联,该小部件可以在单击该菜单按钮时显示该菜单按钮的选项。在 plotly 中,有 4 种可能的方法可以使用 updatemenu 方法来修改图表。

  • restyle: 修改数据或数据属性
  • relayout: 修改布局属性
  • update: 修改数据和布局属性
  • animate: 开始或暂停动画

例子:

  1. import plotly.graph_objects as px
  2. import pandas as pd
  3. # 读取数据库
  4. data = pd.read_csv("tips.csv")
  5. plot = px.Figure(data=[px.Scatter(
  6. x=data['day'],
  7. y=data['tip'],
  8. mode='markers',)
  9. ])
  10. # 添加下拉菜单
  11. plot.update_layout(
  12. updatemenus=[
  13. dict(
  14. buttons=list([
  15. dict(
  16. args=["type", "scatter"],
  17. label="Scatter Plot",
  18. method="restyle"
  19. ),
  20. dict(
  21. args=["type", "bar"],
  22. label="Bar Chart",
  23. method="restyle"
  24. )
  25. ]),
  26. direction="down",
  27. ),
  28. ]
  29. )
  30. plot.show()

输出:

添加按钮: 在 plotly 中,动作自定义按钮用于直接从记录中快速制作动作。自定义按钮可以添加到 CRM、营销和自定义应用程序中的页面布局。还有 4 种可能的方法可以应用于自定义按钮:

  • restyle: 修改数据或数据属性
  • relayout: 修改布局属性
  • update: 修改数据和布局属性
  • animate: 开始或暂停动画

例子:

  1. import plotly.graph_objects as px
  2. import pandas as pd
  3. # 读取数据库
  4. data = pd.read_csv("tips.csv")
  5. plot = px.Figure(data=[px.Scatter(
  6. x=data['day'],
  7. y=data['tip'],
  8. mode='markers',)
  9. ])
  10. # 添加下拉菜单
  11. plot.update_layout(
  12. updatemenus=[
  13. dict(
  14. type="buttons",
  15. direction="left",
  16. buttons=list([
  17. dict(
  18. args=["type", "scatter"],
  19. label="Scatter Plot",
  20. method="restyle"
  21. ),
  22. dict(
  23. args=["type", "bar"],
  24. label="Bar Chart",
  25. method="restyle"
  26. )
  27. ]),
  28. ),
  29. ]
  30. )
  31. plot.show()

输出:

创建滑块和选择器:

在 plotly 中,范围滑块是一个自定义范围类型的输入控件。它允许在指定的最小和最大范围之间选择一个值或一个值范围。范围选择器是一种用于选择要在图表中显示的范围的工具。它提供了用于在图表中选择预配置范围的按钮。它还提供了输入框,可以手动输入最小和最大日期

例子:

  1. import plotly.graph_objects as px
  2. import pandas as pd
  3. # 读取数据库
  4. data = pd.read_csv("tips.csv")
  5. plot = px.Figure(data=[px.Scatter(
  6. y=data['tip'],
  7. mode='lines',)
  8. ])
  9. plot.update_layout(
  10. xaxis=dict(
  11. rangeselector=dict(
  12. buttons=list([
  13. dict(count=1,
  14. step="day",
  15. stepmode="backward"),
  16. ])
  17. ),
  18. rangeslider=dict(
  19. visible=True
  20. ),
  21. )
  22. )
  23. plot.show()

输出:

小结

在本系列教程中,我们借助 Python 的四个不同绘图模块(即 MatplotlibSeabornBokeh 和 Plotly)绘制了tips 数据集。每个模块都以自己独特的方式显示情节,每个模块都有自己的一组功能,例如 Matplotlib 提供了更大的灵活性,但代价是编写更多代码,而 Seaborn 作为一种高级语言提供了允许人们通过少量代码。每个模块都可以根据我们想要完成的任务使用。

🥇 Python 进行数据可视化系列汇总

🧵 更多相关文章

🍰 往日优秀文章推荐:

相关文章