【python】使用matplotlib绘制柱状图

在制作图标时需要绘制柱状图,下面对其进行了绘制:主要就是使用matplotlib的bar函数。

bar函数官方API为 【matplotlib.pyplot.bar】

下面是从一篇论文中随意截取的一段话,进行后续的绘制图像。

import matplotlib.pyplot as plt
import random 

my_list = [random.randint(0, 100) for x in range(12)]

str = "Machine learning models are vulnerable to adversarial examples For the black-box setting"
labels = str.split(" ")

plt.barh(range(len(my_list)), my_list, tick_label=labels)
# plt.ylabel('time(S)') #图像纵坐标的标记

plt.ylabel('time(S)') #图像纵坐标
plt.savefig("./time_bar.jpg") #保存图像

这样绘制出来的图形会发现下面非label全都遮挡了(见下图),所以可以采用将label进行旋转的操作或者将图像的横纵坐标进行变换,达到效果。
在这里插入图片描述

label进行旋转后显示:

import matplotlib.pyplot as plt
import random 

my_list = [random.randint(0, 100) for x in range(12)]

str = "Machine learning models are vulnerable to adversarial examples For the black-box setting"
labels = str.split(" ")

plt.xticks(rotation=270)
plt.bar(range(len(my_list)), my_list, tick_label=labels)
plt.savefig("./time_bar.jpg") #保存图像

绘制后的图像为:
在这里插入图片描述

这里也可以横纵坐标交换,使用barh 函数即可实现,代码和效果如下:

import matplotlib.pyplot as plt
import random 

my_list = [random.randint(0, 100) for x in range(12)]

str = "Machine learning models are vulnerable to adversarial examples For the black-box setting"
labels = str.split(" ")


plt.barh(range(len(my_list)), my_list, tick_label=labels)
# plt.ylabel('time(S)') #图像纵坐标的标记

在这里插入图片描述
参考:
Python——使用matplotlib绘制柱状图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值