如何用python ggplot绘制直方图?

如何用python ggplot绘制直方图?,python,ggplot2,histogram,python-ggplot,Python,Ggplot2,Histogram,Python Ggplot,我想绘制一个直方图,表示y轴上的值TP和x轴上的方法。我特别希望根据“数据”列的值获得不同的数字 在这种情况下,我需要一个值为2,1,6,9,8,1,0的第一个直方图和值为10,10,16的第二个直方图 python版本的ggplot似乎与R版本略有不同 FN FP TN TP data method method SS0208 18

我想绘制一个直方图,表示y轴上的值TP和x轴上的方法。我特别希望根据“数据”列的值获得不同的数字

在这种情况下,我需要一个值为2,1,6,9,8,1,0的第一个直方图和值为10,10,16的第二个直方图

python版本的ggplot似乎与R版本略有不同

            FN FP  TN  TP                   data  method
method                                              
SS0208  18  0  80   2  A p=100 n=100 SNR=0.5  SS0208
SS0408  19  0  80   1  A p=100 n=100 SNR=0.5  SS0408
SS0206  14  9  71   6  A p=100 n=100 SNR=0.5  SS0206
SS0406  11  6  74   9  A p=100 n=100 SNR=0.5  SS0406
SS0506  12  6  74   8  A p=100 n=100 SNR=0.5  SS0506
SS0508  19  0  80   1  A p=100 n=100 SNR=0.5  SS0508
LKSC    20  0  80   0  A p=100 n=100 SNR=0.5    LKSC
SS0208  10  1  79  10   A p=100 n=100 SNR=10  SS0208
SS0408  10  0  80  10   A p=100 n=100 SNR=10  SS0408
SS0206   4  5  75  16   A p=100 n=100 SNR=10  SS0206
作为第一步,我试图只绘制一个直方图,但我收到了一个错误

 df = df[df.data == df.data.unique()[0]]

In [65]: ggplot() + geom_bar(df, aes(x='method', y='TP'), stat='identity')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-65-dd47b8d85375> in <module>()
----> 1 ggplot() + geom_bar(df, aes(x='method', y='TP'), stat='identity')

TypeError: __init__() missing 2 required positional arguments: 'aesthetics' and 'data'w

In [66]: 
我尝试了不同的命令组合,但没有解决


一旦第一个问题得到解决,我希望直方图根据“数据”的值分组。这可能是通过“facet\u wrap”实现的,这可能是因为您在调用ggplot时没有参数,不确定这是否可行。如果您这样认为,请在上添加一个问题

无论如何,这应该是可行的:

ggplot(df, aes(x='method', y='TP')) + geom_bar(stat='identity')
不幸的是,只有当所有面都具有所有级别/x值时,使用geom_bar进行面绘制还不能正常工作!->

可能重复的