您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何确定matplotlib条形图中条形的顺序

5b51 2022/1/14 8:22:38 python 字数 2374 阅读 556 来源 www.jb51.cc/python

假设我们将一些数据读入pandas数据框: data1 = pd.read_csv("data.csv", "\t") 内容如下: 然后定义一个函数,它应该给我们一个水平条形图,其中条形长度代表值,条形用键标记. def barchart(data, labels): pos = arange(len(data))+.5 # the bar centers on the y axis

概述

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],我们如何强制执行此操作?

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

def barchart(data,labels):
    pos = np.arange(len(data)) + 0.5  # the bar centers on the y axis
    plt.barh(pos,data.sort_index(),height=0.25)
    plt.yticks(pos,labels.sort_index())

data1 = pd.DataFrame({'key': list('ABCDE'),'val': np.random.randn(5)})

new_keys = list('EDACB')
data1['ii'] = [new_keys.index(x) for x in data1.key]

data1 = data1.set_index('ii')
barchart(data1["val"],data1["key"])
plt.show()

总结

以上是编程之家为你收集整理的如何确定matplotlib条形图中条形的顺序全部内容,希望文章能够帮你解决如何确定matplotlib条形图中条形的顺序所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶