更改 pandas 绘图后端以获取交互式绘图而不是 matplotlib 静态绘图

2023-09-29Python开发问题
8

本文介绍了更改 pandas 绘图后端以获取交互式绘图而不是 matplotlib 静态绘图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

当我使用 pandas df.plot() 时,它使用 matplotlib 作为默认的绘图后端.但这会创建静态图.

我想要交互式绘图,所以我必须更改熊猫绘图背景.

当我使用 .plot() 时,如何更改 pandas 的绘图后端以让不同的库创建我的绘图?

When I use pandas df.plot() it has matplotlib as a default plotting backend. But this creates static plots.

I would like interactive plots, so I have to change the pandas plotting background.

How do I do change the plotting backend of pandas to have a different library creating my plots when i use .plot()?

推荐答案

你需要 pandas >= 0.25 来改变 pandas 的绘图后端.

可用的绘图后端有:

  • matplotlib
  • hvplot >= 0.5.1
  • holoviews
  • pandas_bokeh
  • plotly >= 4.8
  • altair

所以,默认设置是:

pd.options.plotting.backend = 'matplotlib'

您可以更改 pandas 使用的绘图库,如下所示.在这种情况下,它将 hvplot/holoviews 设置为绘图后端:

You can change the plotting library that pandas uses as follows. In this case it sets hvplot / holoviews as the plotting backend:

pd.options.plotting.backend = 'hvplot'

或者也可以使用(基本一样):

pd.set_option('plotting.backend', 'hvplot')

现在您将 hvplot/holoviews 作为 pandas 的绘图后端,它将为您提供交互式 holoviews 图而不是静态 matplotlib 图.

Now you have hvplot / holoviews as your plotting backend for pandas and it will give you interactive holoviews plots instead of static matplotlib plots.

当然,您需要安装库 hvplot/holoviews + 依赖项才能正常工作.

Of course you need to have library hvplot / holoviews + dependencies installed for this to work.

这是一个生成交互式绘图的代码示例.它使用标准的 .plot() pandas 语法:

import numpy as np
import pandas as pd

import hvplot
import hvplot.pandas

pd.options.plotting.backend = 'hvplot'

data = np.random.normal(size=[50, 2])

df = pd.DataFrame(data, columns=['x', 'y'])

df.plot(kind='scatter', x='x', y='y')

这篇关于更改 pandas 绘图后端以获取交互式绘图而不是 matplotlib 静态绘图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

pandas 有从特定日期开始的按月分组的方式吗?
Is there a way of group by month in Pandas starting at specific day number?( pandas 有从特定日期开始的按月分组的方式吗?)...
2024-08-22 Python开发问题
10

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10