Skip to main content
 首页 » 编程设计

python之带计数的 Matplotlib 折线图

2025年05月04日22zhoujg

我正在尝试绘制一个大型数据集的折线图,我想在其中将 y 设置为“计数”值。

这是一个模拟 df :

my = pd.DataFrame(np.array( 
   [['Apple', 1],  
    ['Kiwi',  2], 
    ['Clementine', 3], 
    ['Kiwi', 1],  
    ['Banana',  2],  
    ['Clementine', 3], 
    ['Apple',  1],  
    ['Kiwi',  2]]),  
                    columns=['fruit', 'cheers']) 

我希望情节使用“干杯”作为 x,然后为每个“水果”和“干杯”次数设置一行

编辑:折线图可能不是最好的追求,请给我建议。我想要这样的东西:

在大数据集中可能会有一个但不是几个“零”,也许我应该做一个更大的模拟 df。

请您参考如下方法:

我看到你已经接受了一个答案,但是另一种方法是这样的

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
 
my = pd.DataFrame(np.array([['Apple', 1], 
                            ['Kiwi',  2], 
                            ['Clementine', 3], 
                            ['Kiwi', 1], 
                            ['Banana',  2], 
                            ['Clementine', 3], 
                            ['Apple',  1], 
                            ['Kiwi',  2]]), 
                  columns=['fruit', 'cheers']) 
 
my_pivot = my.pivot_table(index = 'cheers',  
                          columns = 'fruit',  
                          fill_value = 0,  
                          aggfunc={'fruit':len})['fruit'] 
my_pivot.plot.line() 
plt.tight_layout() 
plt.show() 

输出: