1.画两个条形图,bar和barh, 同时axes[0].axhline画一条横线,axes[1].axvline画一条竖线

importnumpy as npimportmatplotlib.pyplot as plt

np.random.seed(0)

x= np.arange(5)

y= np.random.randint(-5, 5, 5)#分成两个方框,一行两列

fig,axes = plt.subplots(ncols=2)#对第一个方框进行画图bar

axes[0].bar(x, y, color='r')#对第二个方框进行画图barh

axes[1].barh(x, y, color='g')#对第一个方框画一条横线,axhline

axes[0].axhline(0, color='grey', linewidth=2)#对第二个方框画一条竖线, axvline

axes[1].axvline(0, color='grey', linewidth=2)

plt.show()

2.根据条形图y的大小设置每个条形图的颜色

np.random.seed(0)

fig, ax=plt.subplots()

v_bars= ax.bar(x, y, color='lightblue')for bars, height inzip(v_bars, y):if height <0:

bars.set(edgecolor='darkred', color='green', linewidth=2)

plt.show()

3.fill_between 进行填充操作, .consum 表示的是进行累加操作,将前一个值累加到当前值

x = np.random.randn(100).cumsum()

y= np.linspace(0, 100, 100)

fig, ax=plt.subplots()

ax.fill_between(x, y, color='lightblue')

plt.show()

4. fill_between 对两个函数之间进行填充操作

x = np.linspace(0, 10, 200)

y1= 2*x + 1y2= 3*x + 1.2y_mean= 0.5*x*np.cos(2*x) + 2.5*x + 1.1fig, ax=plt.subplots()

# 填充函数之间的值

ax.fill_between(x, y1, y2, color='red')

plt.plot(x, y_mean, color='black')

plt.show()

5. 误差棒的设置plt.bar(yerr=variance) # variance表示误差的大小

mean_values = [1, 2, 3]#variance表示误差

variance = [0.2, 0.4, 0.5]

bar_label= ['bar1', 'bar2', 'bar3']#设置x轴的范围

x_pos =list(range(len(mean_values)))#yerr用来设置误差棒

plt.bar(x_pos, mean_values, color='r', yerr=variance)

max_y=max(zip(mean_values, variance))#设置y轴的显示范围

plt.ylim([0, (max_y[0] + max_y[1]) * 1.2])#设置x轴的标签,x_pos表示标签的位置,bar_label表示标签名

plt.xticks(x_pos, bar_label)

plt.ylabel('variable_y')

plt.show()

6. 画横向并排的条形图

x1 = np.array([1, 2, 3])

x2= np.array([1, 2, 3])

bar_label= ['bar1', 'bar2', 'bar3']

fig= plt.figure(figsize=[8, 6])

y_pos=list(np.arange(len(x1)))

plt.barh(y_pos, x1, color='r',)

plt.barh(y_pos,-x2, color='b',)#为了使得图形美观,设置xlim和ylim的范围

plt.xlim([-max(x2)-1, max(x1) + 1])

plt.ylim(-1, max(y_pos) + 1)

plt.show()

7.设置位置的宽度进行并排

green_data = [1, 2, 3]

blue_data= [3, 2, 1]

red_data= [2, 3, 3]

labels= ['group1', 'group2', 'group3']#设置x_pos的位置

x_pos =list(range(len(green_data)))print(x_pos)

width= 0.2plt.bar(x_pos, green_data, width=width, color='g', label=labels[0], alpha=0.6)

plt.bar([x+width for x in x_pos], blue_data, width=width, color='b', label=labels[1], alpha=0.6)

plt.bar([x+2*width for x in x_pos], red_data, width=width, color='r', label=labels[2], alpha=0.6)

plt.legend(loc='best', framealpha=0.05)

plt.show()

8. 在画的条形图上加竖线ax.axvline(data.min()) 在条形图的后面加上%plt.text 通过获得每个条形图的位置信息

data = np.arange(200, 225, 5)

bar_labels= ['a', 'b', 'c', 'd', 'e']

y_pos=list(np.arange(len(data)))

fig, ax=plt.subplots()#ax.spines['top'].set_visible(False)#去除右边的框图

ax.spines['right'].set_visible(False)

plt.yticks(y_pos, bar_labels)

v_bars=plt.barh(y_pos, data)#加横线

ax.axvline(data.min(), linestyle='--', color='k')#进行对每一个条形块文本标注

for b, d inzip(v_bars, data):

plt.text(b.get_width(), b.get_y()+b.get_height()/2, '{0:.2%}'.format(d/min(data)))

plt.show()

9. 构造colormap来建立条形图的颜色 使用colormap构造条形图cm.ScalarMappable(col.Normalize())

importmatplotlib.colors as colimportmatplotlib.cm as cm

mean_values= range(10, 18)

x_pos=range(len(mean_values))#构造colormap, cm.hot表示风格

cmap1 =cm.ScalarMappable(col.Normalize(min(mean_values), max(mean_values), cm.hot))

cmap2= cm.ScalarMappable(col.Normalize(0, 20, cm.hot))

plt.subplot(121)#cmap1.to_rgba(mean_values) # 将color_map使用到mean_values

plt.bar(x_pos, mean_values, color=cmap1.to_rgba(mean_values))

plt.subplot(122)

plt.bar(x_pos, mean_values, color=cmap2.to_rgba(mean_values))

plt.show()

10. b.set_hatch('o') # 画出不同填充风格的条形图

patterns = ('-', '+', 'x', '\\', '*', 'o', 'O', '.')

data= range(1, len(patterns) + 1)

x_pow=range(len(data))

bars=plt.bar(x_pow, data)for b, p inzip(bars, patterns):

b.set_hatch(p)

plt.show()

python 条形图填充疏密_可视化库-Matplotlib-条形图(第四天)相关推荐

  1. python 条形图填充疏密_教你利用Python玩转histogram直方图的五种方法

    直方图 直方图是一个可以快速展示数据概率分布的工具,直观易于理解,并深受数据爱好者的喜爱.大家平时可能见到最多就是 matplotlib,seaborn 等高级封装的库包,类似以下这样的绘图. 本篇博 ...

  2. python 条形图填充疏密_如何用箭头填充pyplot条形图的条形图?

    这里有一个解决方案,它使用ax.annotate在每个条内绘制箭头.由于OP不太清楚箭头应该是什么样子,所以我把每个条分成矩形(在代码中我称它们为squares,但如果你确定了绘图的纵横比,它们就只是 ...

  3. python 条形图填充疏密_如何在python中绘制密度图?

    我有一个.txt文件,其中包含2D地图中规则间隔点的x,y值,第三个坐标是该点的密度.4.882812500000000E-004 4.882812500000000E-004 0.9072267 1 ...

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

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

  5. python可视化库总结_Python 可视化库 - Matplotlib 使用总结

    Python 可视化库 - Matplotlib 使用总结 在做完数据分析后, 有时候需要将分析结果一目了然地展示出来, 此时便离不开 Python 可视化工具, Matplotlib 是 Pytho ...

  6. [转载] Python数据可视化库-Matplotlib——折线图绘制

    参考链接: Python Matplotlib数据可视化 plot折线图 # coding:utf-8 import pandas as pd import numpy as np from matp ...

  7. python绘制不带颜色曲线图_Python数据可视化库-Matplotlib——折线图,子图绘制

    # coding:utf-8 import pandas as pd import numpy as np from matplotlib import pylab as plt # 导入数据可视化库 ...

  8. 使用可视化库matplotlib绘图时,plt.show()过后只出现Figure size 640x480 with 1 Axes而没有生成图片

    使用可视化库matplotlib绘图时,plt.show()过后只出现<Figure size 640x480 with 1 Axes>而没有生成图片 解决: 可以在前面添加 plt.fi ...

  9. 手把手教你学Python之Matplotlib绘图(一文掌握数据可视化库-Matplotlib)

    目录 Matplotlib介绍 线形图(折线图) 直方图 条形图 饼状图 散点图 Matplotlib介绍        matplotlib是一个Python 的2D绘图库,提供了一套表示和操作图以 ...

最新文章

  1. Linux下的CST和UTC时间的区别
  2. Blackey win10 + python3.6 + VSCode + tensorflow-gpu + keras + cuda8 + cuDN6N环境配置(转载)
  3. Python正则表达式之元字符详解(1)
  4. AIO+BIO+NIO+同步+异步+阻塞+非阻塞
  5. app inventor HTML5,[App Inventor] Web客戶端元件 POST 傳值的使用方式
  6. 重新安装MySQL5.7.21教程_CentOS6.9安装mysql5.7.21教程
  7. 运行SQL文件时报Lost connection to MySQL server during query
  8. python超清壁纸_python爬虫 爬取超清壁纸代码实例
  9. 华为防火墙双机热备-HRP
  10. 我打算写一个《程序员的成长课》
  11. SSMS安装失败及解决
  12. Gerrit VS Gitlab
  13. TCP与UDP的区别?
  14. golang float转string后去除末尾的0
  15. 简单工厂、工厂、抽象工厂
  16. JS字符串和数字相加结果是什么?
  17. 网易视频云互动直播公测正式启动
  18. webexam php,Laravel View Composer - 当 include 一个模板时,自动获取其所需的变量
  19. TD-SCDMA系统中随机接入过程分析
  20. 我眼中的博客MVB与投票

热门文章

  1. java基础知识学习小总结(一)
  2. 2.1.4 超声波雷达
  3. 项目管理小小知识点总结
  4. 程序员文档写作能力(二)-大三段式构架你的文档
  5. Mybatis中column用法
  6. MCAL知识点(十九):SENT驱动详细配置
  7. mysql COMMENT字段注释,表注释使用(转)
  8. 【统计学】参数估计、点估计、区间估计、置信区间
  9. 10-1枚举类的使用
  10. 怎样提取音频制作手机铃声