100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python绘制柱状条形图

python绘制柱状条形图

时间:2021-12-07 03:54:05

相关推荐

python绘制柱状条形图

本代码可实现柱状图的绘制,比较全面。

原创文章,未经允许禁止转载,请尊重原创!!

如需转载

请私信联系,谢谢!

# -*- coding: utf-8 -*-"""Created on Thu Jun 3 20:47:02 @author: ywx"""import matplotlib.pyplot as pltimport numpy as npfig = plt.figure(figsize = (12,8)) # 这两行代码解决 plt 中文显示的问题plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False# 输入统计数据diseases = ['白粉病','黑斑病','褐斑病','黑星病','轮纹病','锈病']color_diff = [0.24,0.14,0.17,0.25,0.26,0.23]texture_diff = [0.12,0.12,0.15,0.15,0.24,0.12]shape_diff = [0.08,0.05,0.12,0.13,0.21,0.05]bar_width = 0.3 # 条形宽度index_color = np.arange(len(diseases)) # 颜色差异条形图的横坐标index_texture = index_color + bar_width # 纹理差异条形图的横坐标index_shape = index_texture + bar_width #形状差异条形体的横坐标# 使用两次 bar 函数画出两组条形图plt.bar(index_color, height=color_diff, width=bar_width, color='steelblue', label='颜色差异')plt.bar(index_texture, height=texture_diff, width=bar_width, color='coral', label='纹理差异')plt.bar(index_shape, height=shape_diff, width=bar_width, color='lightseagreen', label='形状差异')plt.legend(prop={'size':11}) # 显示图例plt.xticks(index_color + bar_width, diseases,fontsize=15) # 让横坐标轴刻度显示 diseases , index_color + bar_width 为横坐标轴刻度的位置,让刻度显示在中间plt.yticks(fontsize=15)plt.xlabel('病害种类Kinds of disease',fontsize=17)plt.ylabel('均方误差RMSE',fontsize=17)c = np.arange(len(diseases)) # 设置颜色差异数字标签for a, b in zip(c, color_diff): #这里直接用disease会报错,因为含有中文字符,不信你试试plt.text(a, b+0.002, b, ha='center', va='bottom', fontsize=15) #加0.002是为了不让数字紧挨着柱状图,美观 # 设置纹理差异数字标签for a, b in zip(c, texture_diff):plt.text(a+bar_width, b+0.002, b, ha='center', va='bottom', fontsize=15) # 设置形状差异标签for a, b in zip(c, shape_diff):plt.text(a+bar_width*2, b+0.002, b, ha='center', va='bottom', fontsize=15)plt.show()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。