Python与统计图,你必须知道(3)——柱状图(2)

本文介绍了在Python中如何使用二维列表进行数据排序,特别是在制作柱状图时遇到的数据与标签不一致问题。通过自定义函数mykey进行排序,然后将二维列表拆分为两个单独的列表,分别用于绘制垂直和水平柱状图。最后提到了柱状图的美化步骤,鼓励读者自行实践。
摘要由CSDN通过智能技术生成

Python与统计图,你必须知道(3)——柱状图(1)icon-default.png?t=N3I4https://blog.csdn.net/lixinhe_4090/article/details/129919145?spm=1001.2014.3001.5501

这篇文章是关于柱状图的第二篇,在第一篇中,我大概讲了如何制作一个柱状图,而排序需要一个题为知识——二维列表。

1.二维列表

二维列表的元素还是列表(列表的嵌套),称之为二维列表。需要通过行标和列标来访问二维列表的元素。

先说一下为什么要了解二维列表:在排序的时候,我们用sort()函数只能排一个列表,而这时候排序只改变了一个列表data的值,而列表name(lab)却没有得到排序,所以排序出来的数据与标签不一致,这时候就要用二维列表来解决。

二维列表是这样的:

name_data = [['标签1', 11111],
             ['标签2', 22222], 
             ['标签3', 33333],
             ['标签4', 44444],
             ['标签5', 55555]]
#你可以写更多,其中的数值是列表data,标签X是name(lab)

那么如何排序二维列表呢?

这时候,我们要自定义一个函数:

def mykey(x):
    return x[1]
#这里你可以选择直接搬走

这个函数的位置建议在二维列表的下面

接着,只需要用sort()函数排序,不过格式有些不一样:

name_data.sort(key = mykey)
#name_data是二维列表的名字,如果对sort()还不太了解,看一下文章开头的链接,那篇文章里有关于sort()的知识,括号里的内容照搬,注意:mykey是我们定义的函数的名字,如果更改了,那么请把这里的也修改一下,key = 不要动!

这样,我们用二维列表完成数据排序,但是绘制柱状图需要的是两个列表啊,不能直接利用二维列表绘制。

我们需要把列表拆分以下,一般最土的方法最不容易出错,那我们就用一个最土的方法吧:

name = []
data = []
for n in name_data:
    name.append(n[0])
    data.append(n[1])
pyplot.bar(name, data)
pyplot.show()

现在我们就可以绘制一个垂直的柱状图了,那水平的柱状图该怎么话呢?

方法是一样的,只是我们需要改一下单词:

pyplot.barh(name, data)

现在我们的柱状图已经完成了,但是我们好像忘记美化柱状图了,这里我给大家几张图片,大家按照图片自己试一试。

 

 

 

 


THE END


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值