【人工智能】python绘制柱状条形图

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

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

如需转载

请私信联系,谢谢!

# -*- coding: utf-8 -*-
"""
Created on Thu Jun  3 20:47:02 2021

@author: ywx
"""
import matplotlib.pyplot as plt
import numpy as np
fig = 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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evan Yi

老板行行好,打赏一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值