首页 > 其他分享 >Polars简明基础教程十二:可视化(二)

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

时间:2024-08-17 09:24:26浏览次数:6  
标签:简明 hv DataFrame 可视化 Matplotlib 基础教程 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 函数来打印当前可用的方法列表,从而查看当前的可用列表。

​​​​​​​[el for el in dir(df.plot) if not el.startswith("_") ]

area
bar
barh
bivariate
box
dataset
density
errorbars
explorer
heatmap
hexbin
hist
kde
labels
line
ohlc
paths
points
polygons
scatter
step
table
vectorfield
violin

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

折线图

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

p = (
    pl.DataFrame(
        {
            "time":[0,1,2,3,4],
            "val":[0,1,2,3,4],
            
        }
    )
    .plot
    .line(
        x="time",
        y="val"
    )
)

hv.show(p)

要制作多线图,你可以:

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

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

p = (
    pl.DataFrame(
        {
            "time":[0,1,2,3,4],
            "val":[0.0,1,2,3,4],
            "vals2":[10.0,11,12,13,14]
            
        }
    )
    .plot
    .line(
        x="time",
         y=["val","vals2"]
    )
)

hv.show(p)

蜡烛图

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

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

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

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

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

import polars as pl
import hvplot as hv

data = [  ## 字段为:time, open, high,low,close
    (1., 10, 13, 5, 11),
    (2., 13, 17, 9, 12),
    (3., 13, 14, 11, 13),
    (4., 14, 15, 5, 11),
    (5., 15, 19, 8, 12),
    (6., 9, 15, 8, 10),
]
df = pl.DataFrame(
        data,
        schema=['time','open','high','low','close'],
        orient="row"
    )
p = df.plot.ohlc('time',['open','high','low','close'])
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快速入门

标签:简明,hv,DataFrame,可视化,Matplotlib,基础教程,Polars
From: https://blog.csdn.net/sosogod/article/details/141182952

相关文章

  • Polars简明基础教程十三:可视化(三)
     (示例中用到的csv数据文件可在CSDN免费下载:“泰坦尼克号生还者数据集”):importpolarsasplimporthvplotashvimportmatplotlib.pyplotaspltimportseabornassnsimportplotly.expressaspximportaltairasaltimportvegafusionasvfcsv_file=r"..\da......
  • 基于Python爬虫实现招聘数据分析可视化大屏
    作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企业......
  • EasyCVR视频汇聚平台:打造全栈视频监控系统的基石,解锁可视化管理与高效运维
    随着科技的飞速发展,视频监控已成为现代社会不可或缺的一部分,广泛应用于社区、公共场所、工业领域等多个场景。EasyCVR视频汇聚平台,作为一款高性能的视频汇聚管理平台,凭借其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。本文将深入探讨EasyCVR视频......
  • 解锁企业数据分析瓶颈:数据可视化与报表自动化的实战策略
    Hi~这里是ProXiao文章参考:晓观点 《数据可视化与报表自动化:如何破解企业数据分析的痛点?》在数字化时代背景下,企业面临着日益增长的数据量和复杂性,这对数据处理、分析和应用提出了更高要求。企业决策过程中如何高效利用数据资源,已成为一个关键议题。本文旨在分析企业在数据......
  • 《机器学习》 KNN算法、数据可视化 No.1
    一、了解机器学习1、什么是机器学习        机器学习是一种人工智能(AI)的分支,旨在让计算机通过数据自动学习和改进。机器学习算法被设计用于从数据中提取模式和规律,然后利用这些模式和规律来做出预测或做出决策,而无需明确的程序指令。        机器学习的基本......
  • SSM-国外鞋服代购平台-97782(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP、爬虫、
    SSM国外鞋服代购平台摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,鞋服代购平台当然也不例外。代购平台是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个管理系统。整个开发过......
  • 最新微信付费进群源码系统三级分销(总站-分站-子分站-分销)+定位+可视化大屏及小程序搭
    付费进群系统作为一种创新的在线服务模式,逐渐受到创业者和用户的青睐。它不仅为创业者提供了稳定的收益渠道,也为用户带来了便捷的服务体验。从代码设计的角度来看,付费进群系统源码是一个复杂而精细的系统,涵盖了多个技术层面和考量因素。本文将深入探讨付费进群系统源码的代......
  • R语言ggplot2可视化实战:将可视化图像的标题(title)放置在图像的左下角
     R语言ggplot2可视化实战:将可视化图像的标题(title)放置在图像的左下角(customizetitlepositoninbottomleftofggplot2graph)目录R语言ggplot2可视化:将可视化图像的标题(title)放置在图像的左下角(customizetitlepositoninbottomleftofggplot2graph)#仿真数据......
  • 【可视化】中国地级市PM2.5浓度分区统计
    利用GeoPandas和xarray(rioxarray)库对中国PM2.5浓度数据开展城市尺度的分区统计,得到我国所有地级市的平均PM2.5浓度水平。相关库简介rioxarray是一个用于处理地理空间数据的Python库,它扩展了xarray的功能,使得xarray可以方便地处理带有地理参考的多维数组数据......
  • ArcGIS Pro 实现人口分布栅格TIFF数据的网格提取与可视化
    这里在分享一个人口1km精度栅格数据,LandScan是由美国能源部橡树岭国家实验室(ORNL)提供的全球人口分布数据集,具有最高分辨率的全球人口分布数据,是全球人口数据发布的社会标准,是全球最为准确、可靠,基于地理位置的,具有分布模型和最佳分辨率的全球人口动态统计分析数据库。这一数据......