使用 Python 脚本 (pandas/matplotlib.pyplot) 在 Power BI 中排序条形图

Sorted Bar Plot In Power BI Using Python Script (pandas/matplotlib.pyplot)

我正在尝试使用 Python 脚本视觉对 Power BI 中的条形图进行排序。我想按 Count 列对 Plot 进行排序。条形图目前有带注释的数据标签,显示其计数列中的值。 Bar Plot Unsorted

当我尝试对数据框进行排序以对条形图进行排序时,它会抛出数据标签注释。 Bar Plot Data Labels out of Whack

当我 运行 在 Jupyter Notebook 中使用相同的代码时,条形图会自动排序并且不会出现数据标签问题。

这是我正在使用的代码。前四行由 Power BI 的 Python Visual.

自动生成

powerbi:始终执行以下用于创建数据框和删除重复行的代码,并充当脚本的序言:

powerbi:数据集 = pandas.DataFrame(名称,计数) powerbi: 数据集 = dataset.drop_duplicates()

powerbi:在此处粘贴或键入您的脚本代码:

    import matplotlib.pyplot as plt
 

    dataset = dataset.sort_values(by=['Count'], ascending=False) #This is my attempt to Sort Bar Plot by Count column which throws the data labels out of whack as illustrated in the second screenshot.

 

ax = dataset.plot(kind='bar', x='Name', figsize=(15,15), fontsize=14, rot=60)
for idx, label in enumerate(list(dataset.Name)): 
    value = dataset.Count[idx]
    #print(idx,label,value)
    ax.annotate(value,
               (idx,value))
                         
plt.show()

这是我正在使用的数据框: DataFrame

如何按计数列对 Power BI 中的条形图进行排序并显示正确类别的数据标签?

感谢您的帮助, 泰勒

数据集排序时需要忽略索引

dataset = dataset.sort_values(by=['Count'], ascending=False, ignore_index=True)

否则值的 idx 位置 将保持不变。