当前位置:   article > 正文

Polars简明基础教程十二:可视化(二)

Polars简明基础教程十二:可视化(二)

 设置绘图后端

我们可以使用 hv.extension 更改绘图后端。但是,我们不在此处运行此单元格,因为它会导致下面的 Matplotlib/Seaborn 图表无法渲染。

注释:

hvPlot 利用 HoloViews 库来构建图表,并且可以使用多个后端进行渲染,包括 Bokeh(默认)和 Matplotlib。

hv.extension 是一个函数,用于设置 hvPlot 的绘图后端。当你使用 hv.extension 指定一个后端时,比如 Bokeh 或 Matplotlib,hvPlot 将会使用这个后端来渲染所有后续的图表。

然而,在 Jupyter Notebook 或类似的环境中,当你设置了一个特定的后端,如 Bokeh,然后尝试渲染一个依赖于不同后端(如 Matplotlib)的图表时,后一个图表可能不会正确显示,因为它试图使用已经被设置为 Bokeh 的环境来渲染。这是因为 Jupyter Notebook 的输出环境被配置为了 Bokeh,而不再是 Matplotlib。

如果在某个点上设置后端为 Bokeh,那么接下来使用 Matplotlib 或 Seaborn(基于 Matplotlib 的绘图库)绘制的图表可能不会显示,除非你重新设置或重置后端。

为了避免这个问题,你可以在使用 hvPlot 之前或之后单独运行设置后端的代码,或者在不同的会话或内核中处理不同的后端。这确保了每个后端都在其适当的环境中运行,不会相互干扰。如果你在一个脚本中需要使用多种后端,你可能需要手动切换后端,或者使用独立的绘图区域来确保兼容性。

 hv.extension('matplotlib')

可用的后端包括:

  1. Bokeh
  2. Plotly
  3. Matplotlib

可用的绘图类型

.plot 方法可用的绘图类型将随着时间的推移而发展。我们可以通过在 df.plot 上使用 Python 的 dir 函数来打印当前可用的方法列表,从而查看当前的可用列表。

  1. ​​​​​​​[el for el in dir(df.plot) if not el.startswith("_") ]
  2. area
  3. bar
  4. barh
  5. bivariate
  6. box
  7. dataset
  8. density
  9. errorbars
  10. explorer
  11. heatmap
  12. hexbin
  13. hist
  14. kde
  15. labels
  16. line
  17. ohlc
  18. paths
  19. points
  20. polygons
  21. scatter
  22. step
  23. table
  24. vectorfield
  25. violin

我们将在下面演示更多这些内容

折线图

我们创建一个简单的时间序列 DataFrame 来制作折线图

  1. p = (
  2.     pl.DataFrame(
  3.         {
  4.             "time":[0,1,2,3,4],
  5.             "val":[0,1,2,3,4],
  6.             
  7.         }
  8.     )
  9.     .plot
  10.     .line(
  11.         x="time",
  12.         y="val"
  13.     )
  14. )
  15. hv.show(p)

要制作多线图,你可以:

  • 指定一列作为x轴维度,然后将所有其他数值列分别绘制为不同的线条
  • 将列名列表传递给 y 

因此,无论是否在此处注释掉 y 行,我们都会得到相同的图表。

  1. p = (
  2.     pl.DataFrame(
  3.         {
  4.             "time":[0,1,2,3,4],
  5.             "val":[0.0,1,2,3,4],
  6.             "vals2":[10.0,11,12,13,14]
  7.             
  8.         }
  9.     )
  10.     .plot
  11.     .line(
  12.         x="time",
  13.          y=["val","vals2"]
  14.     )
  15. )
  16. hv.show(p)

蜡烛图

OHLC 是一种有用的图表类型,用于可视化股票走势。

默认情况下,OHLC 会假定索引或第一个日期时间列应映射到 x 轴,而前四个非日期时间列分别对应于 O(开盘价)、H(最高价)、L(最低价)和 C(收盘价)组件。

因此,默认调用 ohlc 相当于:

df.plot.ohlc('date', ['open', 'low', 'high', 'close'], grid=True)

我们现在来画一个简单的蜡烛图:

  1. import polars as pl
  2. import hvplot as hv
  3. data = [ ## 字段为:time, open, high,low,close
  4. (1., 10, 13, 5, 11),
  5. (2., 13, 17, 9, 12),
  6. (3., 13, 14, 11, 13),
  7. (4., 14, 15, 5, 11),
  8. (5., 15, 19, 8, 12),
  9. (6., 9, 15, 8, 10),
  10. ]
  11. df = pl.DataFrame(
  12. data,
  13. schema=['time','open','high','low','close'],
  14. orient="row"
  15. )
  16. p = df.plot.ohlc('time',['open','high','low','close'])
  17. hv.show(p)

Polars简明基础教程系列

Polars简明基础教程十二:可视化(二)

Polars简明基础教程十一:可视化(一)

Polars简明基础教程十:Numpy和Pandas的相互转换(2)

Polars简明基础教程九:Numpy和Pandas的相互转换(1)

Polars简明基础教程八:Series 和 DataFrame 以及它们之间的转换_B

Polars简明基础教程七:Series 和 DataFrame 以及它们之间的转换_A

Polars简明基础教程六:什么是Polars的“DataFrame(数据框)_下”

Polars简明基础教程五:什么是Polars的“DataFrame(数据框)_上”

Polars简明基础教程四:懒惰模式 2:评估查询

Polars简明基础教程三:懒惰模式 1:引入懒惰模式(续)

Polars简明基础教程二:懒惰模式 1:引入懒惰模式

Polars简明基础教程一:Polars快速入门

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/992012
推荐阅读
相关标签
  

闽ICP备14008679号