Python画柱状图bar
1.简单柱状图
#!/bin/usr/python3
# -*- coding: utf-8 -*-
# 简单柱状图
#文件名:baseHistogram.py
import matplotlib
import matplotlib.pyplot as plt
import time
#中文问题
zhfont1 = matplotlib.font_manager.FontProperties(fname='/usr/share/matplotlib/mpl-data/fonts/ttf/heiti.ttf')
name_list = ['[0~5)','[5~10)','[10~15)','[15~20)','[20~25)','[25~30)','[30~35)','[35~40)','[45~50]']
num_list = [5,5.5,20,50.5,100,105,200,100,50]
rect=plt.bar(range(len(num_list)), num_list,tick_label='')
plt.legend((rect,),("不变姿态",),prop=zhfont1)
name_num=0
for name_num in range(len(name_list)):
plt.text(name_num-0.2,-10,name_list[name_num],rotation=25)
plt.text(9,-2,"单位:cm",fontproperties=zhfont1)
plt.ylabel("成功率",fontproperties=zhfont1)
# plt.title("Invariable attitude robot reachability")
plt.title("不变姿态成功率",fontproperties=zhfont1)
# plt.show() #显示图片
log=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time())) #以当前时间为名保存图片
plt.savefig("./%s_base.jpg"%log)
结果1:
2.并列柱状图
#!/bin/usr/python3
# -*- coding: utf-8 -*-
# 并列柱状图
#文件名:parallelHistogram.py
import matplotlib
import matplotlib.pyplot as plt
import time
#中文问题
zhfont1 = matplotlib.font_manager.FontProperties(fname='/usr/share/matplotlib/mpl-data/fonts/ttf/heiti.ttf')
name_list = ['[0~5)','[5~10)','[10~15)','[15~20)','[20~25)','[25~30)','[30~35)','[35~40)','[45~50]']
num_list = [5,5.5,20,50.5,100,105,200,100,50]
num_list1 = [4,10,10,70.5,95,10,300,10,5]
x =list(range(len(num_list)))
total_width, n = 0.8, 2
width = total_width / n
rect=plt.bar(x, num_list,tick_label='',width=width,label='unchanged',fc='y')
for i in range(len(x)):
x[i]+=width
rect1=plt.bar(x, num_list1,tick_label='',width=width,label='changed',fc='g')
plt.legend()
name_num=0
for name_num in range(len(name_list)):
plt.text(name_num-0.2,-10,name_list[name_num],rotation=25)
plt.text(9,-2,"单位:cm",fontproperties=zhfont1)
plt.ylabel("成功率",fontproperties=zhfont1)
# plt.title("Invariable attitude robot reachability")
plt.title("变姿态成功率vs不变姿态成功率",fontproperties=zhfont1)
# plt.show() #显示图片
log=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time())) #以当前时间为名保存图片
plt.savefig("./%s_parallel.jpg"%log)
结果2:
解决中文问题:https://download.csdn.net/download/github_33934628/9967497
【转载】: https://blog.csdn.net/u011280600/article/details/81355941