写专利用的python里面的matplotlib画的条形图 ,最开始用的三种颜色来区分,如下图:

然而被告知不行,只能用黑白的,其他颜色不能用,于是想到用灰度,如下图:

然而又被告知,不行,不能用灰度,只能用条形框的填充格式进行区分,接近崩溃,百度了半天也没看到相关的帖子,后来终于找到了,先来看一下效果,源码贴在最后面。效果如下图:

源码如下:

import matplotlib.pyplot as plt
import numpy as np
from pylab import mplmpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']
Y2016 = [83.2, 85, 83.9]
Y2017 = [80.4, 74.6, 86.5]
Y2018 = [85.8, 87.2, 89.1]
labels = ['准确性', '敏感性', '特异性']
bar_width = 0.25 # 绘图
plt.figure(figsize=(10,10))
plt.bar(np.arange(3), Y2016, label='TSVM', color='white', alpha=1, width=bar_width,edgecolor="k",hatch='/')
plt.bar(np.arange(3) + bar_width, Y2017, label=u'协同训练半监督', color='white', alpha=1, edgecolor="k",width=bar_width,hatch="***")
plt.bar(np.arange(3) + 2*bar_width, Y2018, label=u'结合TSVM和协同训练半监督', color='white', alpha=1, edgecolor="k",width=bar_width,hatch="xxx")# 添加刻度标签
plt.xticks(np.arange(3) + bar_width, labels)
plt.tick_params(labelsize=20)
# 设置Y轴的刻度范围
plt.ylim([0, 100]) # 为每个条形图添加数值标签
for x2016, y2016 in enumerate(Y2016): plt.text(x2016, y2016 + 2, '%s' % y2016, ha='center',fontsize=20) for x2017, y2017 in enumerate(Y2017): plt.text(x2017 + bar_width, y2017 + 2, '%s' % y2017, ha='center',fontsize=20)for x2018, y2018 in enumerate(Y2018): plt.text(x2018 + 2*bar_width, y2018 + 2, '%s' % y2018, ha='center',fontsize=20)
# 显示图例
plt.legend(bbox_to_anchor=(0.5,1), loc=3, borderaxespad=0,fontsize=17)
plt.savefig('foo.png')
# 显示图形
plt.show() 

其中,hatch这个参数的值就是改变填充效果的,具体的效果有:‘*oO/|±.’,填充密度根据你引用的符号数量变化,如hatch=‘/’肯定比hatch=’///'要密集对吧。

python matplotlib 条形图的填充效果相关推荐

  1. python柱形图颜色_pyplot/matplotlib条形图,填充颜色取决于值

    我想使用matplotlib/pyplot在python中生成根据值填充的条形图. 图例颜色栏 同时保持最小的模块依赖性. 有比以下更简单的事情吗:import matplotlib.pyplot a ...

  2. python数据可视化(matplotlib条形图、饼图、箱状图、直方图、折线图)(代码)

    python数据可视化(matplotlib条形图.饼图.箱状图.直方图.折线图) matplotlib(条形图) 一.简单条形图 1.简单垂直条形图 2.简单水平条形图 二.水平交错条形图 三.垂直 ...

  3. Python matplotlib可视化:用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的外侧顶部)

    Python matplotlib可视化:用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的外侧顶部) 目录

  4. Python matplotlib可视化:在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等)、水平条形图(horizontal bar)

    Python matplotlib可视化:在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等).水平条形图(horizontal bar) 目录

  5. Python matplotlib可视化:用Matplotlib的bar_label函数自定义条形图的数值标签、用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的中部)

    Python matplotlib可视化:用Matplotlib的bar_label函数自定义条形图的数值标签.用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的中部) ...

  6. python 条形图 负值_使用python matplotlib获取正负值的堆积条形图

    我正在尝试使用python Matplotlib绘制堆积的条形图,并且我要绘制正值和负值.我看过其他文章,谈论如何用正值和负值绘制堆积的条形图,但是没有一个使用Matplotlib完成,所以我找不到解 ...

  7. Python matplotlib 中填充颜色

    Python matplotlib 中填充颜色 matplotlib中填充颜色主要是两个函数,一个是fill,一个是fill_between,这里讲一下详细的关键字, 这里关键字主要有facecolo ...

  8. Python Matplotlib基本用法

    Python Matplotlib基本用法 1. 认识Matploblib 1.1 Figure 1.2 Axes 1.3 Multiple Axes 1.4 Axes Vs .pyplot 2. 基 ...

  9. 超详细的Python matplotlib 绘制柱状图

    复习回顾 Python 为数据展示提供了大量优秀的功能包,其中 matplotlib 模块可以方便绘制制作折线图.柱状图.散点图等高质量的数据包. 关于 matplotlib 模块,我们前期已经对ma ...

最新文章

  1. spark用python编程的书_PySpark实战指南:利用Python和Spark构建数据密集型应用并规模化部署...
  2. php每天扒取当天新闻_php 抓取新浪新闻的程序代码
  3. bash中 21 的解释
  4. 【docker】docker run命令详解
  5. 21秋期末考试建筑力学与结构10126k2
  6. win7压缩文件夹怎么压缩到最小
  7. 实验四 JSP内置对象的应用
  8. abaqus土木结构视频教程
  9. 大麦网抢票软件工具开发系列(一)
  10. (产品面试贴)乐动——阿里巴巴2015暑期实习平台型产品经理(技术领域)
  11. win10专业版安装.net Framework4.7.2出现问题解决办法
  12. 生成验证码 大写、小写字母,数字 java
  13. 五笔速成法--教你5小时学会五笔打字
  14. ZZULIOJ1076-1080Python解法
  15. c语言 函数拟合,曲线拟合成Y=a*(X^b)+c*(X^d)函数 - 数学 - 小木虫 - 学术 科研 互动社区...
  16. css淡入动画,使用CSS淡入大动画效果
  17. java按成绩排序_JAVA中按分数高低对同学进行排序二维数组
  18. 10 个快速提升技术水平的方法
  19. 离职 需要注意三个问题
  20. 社区说 | Flutter 工程那些事儿

热门文章

  1. 设置video标签的默认样式
  2. STM32_DAC数模转换原理
  3. 《Istio 大咖说》第二期直播预告
  4. python:计算0~100之间所有的偶数之和与奇数之和
  5. [android]android自动化测试十四之dumpsys性能测试
  6. 利用idea创建一个基本的smm项目(带增删改查)
  7. 面向全程物流的智慧口岸建设实践 PPT
  8. 锐浪报表(悦商云B2)报表排序设置
  9. 【题解】【AcWing】1483. 世界杯投注
  10. 做网站需要多少钱?由企业需求而定!