Pandas系列图()中figsize的像素密度/ DPI是多少?

时间:2017-02-26 15:34:25

标签: python pandas plot

使用Pandas系列(pandas.core.series.Series),有一种方便的plot()方法(documentation)用于制作例如条形图。

plot()方法采用元组值的figsize参数;以英寸为单位的宽度和高度。

  

figsize:以英寸为单位的元组(宽度,高度)

但是,我找不到任何关于每英寸假设像素密度/ DPI / PPI的文档。似乎没有任何方法可以指定它应该是什么。根据输出图像大小,我猜它是相当低的(例如,72 dpi),但想知道它是什么,所以当我教这个方法时,我可以为输出提供合理的解释。以下是一个示例用法:

species_counts = surveys.groupby('species_id')['record_id'].count()
type(species_counts) # `pandas.core.series.Series`
species_counts.plot(figsize = (9, 6), kind = 'bar')

我理解此方法基于matplotlib,但遗憾的是,Pandas系列上的方法不会使用dpi参数(结果为AttributeError: Unknown property dpi)。

1 个答案:

答案 0 :(得分:1)

您可以使用基础matplotlib命令指定dpi

import matplotlib.pyplot as plt
import pandas as pd
%matplotlib inline

fig = plt.figure(dpi=1000)
species_counts = surveys.groupby('species_id')['record_id'].count()
species_counts.plot(figsize = (9, 6), kind = 'bar')

fig.get_dpi()  # 1000

或者,如果您只想知道默认dpi是什么:

import matplotlib.pyplot as plt
import pandas as pd
%matplotlib inline

species_counts = surveys.groupby('species_id')['record_id'].count()
species_counts.plot(figsize = (9, 6), kind = 'bar')

fig = plt.gcf()    
fig.get_dpi()

我认为没有规范的答案,我很确定确切的答案将取决于您使用的后端,也可能取决于您的硬件。