Pandas:如何在条形图上绘制多列
您可以使用以下语法在单个条形图上绘制 pandas DataFrame 的多列:
df[[' x ', ' var1 ', ' var2 ', ' var3 ']]. plot (x=' x ', kind=' bar ')
x列将用作 x 轴变量, var1 、 var2和var3将用作 y 轴变量。
以下示例展示了如何在实践中使用此功能。
示例 1:在条形图上绘制柱形图
以下代码显示如何在条形图上绘制三列,指定名为period的列应用作 x 轴上的变量:
import pandas as pd import matplotlib. pyplot as plt #create fake data df = pd. DataFrame ({' period ': [1, 2, 3, 4, 5, 6, 7, 8], ' A ': [9, 12, 15, 14, 19, 23, 25, 29], ' B ': [5, 7, 7, 9, 12, 9, 9, 14], ' C ': [5, 4, 7, 13, 15, 15, 18, 31]}) #plot columns on bar chart df[[' period ', ' A ', ' B ', ' C ']]. plot (x=' period ', kind=' bar ')
我们还可以选择仅绘制某些列,例如A和B :
df[[' period ', ' A ', ' B ']]. plot (x=' period ', kind=' bar ')
示例 2:在堆积条形图上绘制柱形图
要创建堆积条形图,只需在绘图函数中指定stacked=True即可:
import pandas as pd import matplotlib. pyplot as plt #create fake data df = pd. DataFrame ({' period ': [1, 2, 3, 4, 5, 6, 7, 8], ' A ': [9, 12, 15, 14, 19, 23, 25, 29], ' B ': [5, 7, 7, 9, 12, 9, 9, 14], ' C ': [5, 4, 7, 13, 15, 15, 18, 31]}) #create stacked bar chart df[[' period ', ' A ', ' B ', ' C ']]. plot (x=' period ', kind=' bar ', stacked= True )
要更改条形的颜色,只需使用颜色参数,如下所示:
df[[' period ', ' A ', ' B ', ' C ']]. plot (x=' period ', kind=' bar ', stacked= True , color=[' red ', ' pink ', ' gold '])