【发布时间】:2013-12-31 04:08:36
【问题描述】:
假设我们将一些数据读入 pandas 数据框:
data1 = pd.read_csv("data.csv", "\t")
内容如下:
然后定义一个函数,它应该给我们一个水平条形图,其中条形长度表示值,条形用键标记。
def barchart(data, labels):
pos = arange(len(data))+.5 # the bar centers on the y axis
barh(pos, data, align='center', height=0.25)
yticks(pos, labels)
然后我们这样调用绘图函数:
barchart(data1["val"], data1["key"])
这给了我们以下情节:
现在,什么决定了条形的顺序?
假设我们希望条形图按特殊顺序排列,比如[C, A, D, F, E, B],我们该如何执行?
【问题讨论】:
-
只需重新排序您的输入。
-
@tcaswell 如何按列表重新排序输入
[C, A, D, F, E, B]? -
@cls
barchart(data[['C', 'A', 'D', 'F', 'E', 'B']], labels) -
data[['C', 'A', 'D', 'F', 'E', 'B']] -- 不行,这样你可以选择列
标签: python matplotlib plot pandas