pandas hist上matplotlib参数的语法

问题描述 投票:1回答:1

根据docs,用于创建数据帧的pandas hist方法可以采用参数ax来推测将某些绘图参数传递给ax对象。我想知道的是我如何传递这些参数。这是一些代码:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.normal(0,100,size=(100, 2)), columns=['col1', 'col2'])
pd.DataFrame.hist(df,column='col1', ax={ylim(-1000,1000), set_title('new title')})

上面的代码试图使用ax参数修改y轴限制和标题,但我不确定要使用的语法。

python pandas matplotlib
1个回答
2
投票

它是hist()的输出,它创建了一个Matplotlib Axes对象。来自plot() docs

返回:axes:matplotlib.AxesSubplot或np.array

您可以使用返回的值进行调整。

ax = df.col1.hist()
ax.set_title('new_title')
ax.set_ylim([-1000,1000])

ax中的plot()参数(以及像hist()这样的变体)用于绘制预定义的Axes元素。例如,您可以使用一个绘图中的ax覆盖同一曲面上的另一个绘图:

ax = df.col1.hist()
df.col2.hist(ax=ax)

overlay plot

注意:我稍微更新了你的语法。将hist()称为数据框本身的一种方法。

UPDATE 或者,您可以直接传递关键字,但在这种情况下,您(a)需要调用plot.hist()而不仅仅是hist(),并且(b)关键字可以作为kwargs传递或直接传递。例如:

kwargs ={"color":"green"}
# either kwargs dict or named keyword arg work here
df.col1.plot.hist(ylim=(5,10), **kwargs) 
© www.soinside.com 2019 - 2024. All rights reserved.