[Python画图笔记]利用Python画箱型图boxplot

[Python画图笔记]利用Python画箱型图boxplot

最近在学习使用Python画图,想用subplot画两幅箱型图,分别用来表示三组数据在空间滤波前后WRMS值的变化情况。关于Pycharm的安装和配置可以自行百度,直接贴上代码,给出效果图。代码中给出标注以便日后查询。

import pandas as pd #导入pandas

import matplotlib.pyplot as plt

import numpy as np

from scipy import interpolate

#fig,axes = plt.subplots(1,2,figsize=(8,4))

fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2,sharex=True, figsize=(6, 3))

n_wrms_before_filtering=[]

e_wrms_before_filtering=[]

u_wrms_before_filtering=[]

n_wrms_after_filtering=[]

e_wrms_after_filtering=[]

u_wrms_after_filtering=[]

lines = open("D:\软件安装\SoftwareFile\Pycharm\PycharmProjects\\boxplot\data\wrms_neu1.dat", 'r').readlines()

for i in range(len(lines)):

# split data

fields = lines[i].split(' ')

n_wrms_before_filtering.append(float(fields[0]))

e_wrms_before_filtering.append(float(fields[1]))

u_wrms_before_filtering.append(float(fields[2]))

lines = open("D:\软件安装\SoftwareFile\Pycharm\PycharmProjects\\boxplot\data\wrms_neu2.dat", 'r').readlines()

for i in range(len(lines)):

# split data

fields = lines[i].split(' ')

n_wrms_after_filtering.append(float(fields[0]))

e_wrms_after_filtering.append(float(fields[1]))

u_wrms_after_filtering.append(float(fields[2]))

labels = 'N','E','U' #图例

p1=ax1.boxplot([n_wrms_before_filtering, e_wrms_before_filtering, u_wrms_before_filtering],widths = 0.8,labels = labels,patch_artist = True)

color = ['#515151', '#f14040', '#1a6fdf'] # 有多少box就对应设置多少颜色

for box, c in zip(p1['boxes'], color):

# 箱体边框颜色

box.set(color=c, linewidth=1.5)

# 箱体内部填充颜色

box.set(facecolor=c)

# 这里设置的是各个box的其他属性

for whisker in p1['whiskers']:

whisker.set(color='#180405', linewidth=1.5)

for cap in p1['caps']:

cap.set(color='#180405', linewidth=1.5)

for median in p1['medians']:

median.set(color='#180405', linewidth=1.5)

for flier in p1['fliers']:

flier.set(marker='o', color='y', alpha=0.5)

labels = 'N','E','U' #图例

p2=ax2.boxplot([n_wrms_after_filtering, e_wrms_after_filtering, u_wrms_after_filtering],widths = 0.8,labels = labels,patch_artist = True)

color = ['#515151', '#f14040', '#1a6fdf'] # 有多少box就对应设置多少颜色

for box, c in zip(p2['boxes'], color):

# 箱体边框颜色

box.set(color=c, linewidth=1.5)

# 箱体内部填充颜色

box.set(facecolor=c)

# 这里设置的是各个box的其他属性

for whisker in p2['whiskers']:

whisker.set(color='#180405', linewidth=1.5)

for cap in p2['caps']:

cap.set(color='#180405', linewidth=1.5)

for median in p2['medians']:

median.set(color='#180405', linewidth=1.5)

for flier in p2['fliers']:

flier.set(marker='o', color='y', alpha=0.5)

ax1.set(xlabel='Directions', ylabel='WRMS/mm')

ax2.set(xlabel='Directions', ylabel='WRMS/mm')

ax1.set_title('Before filtering')

ax2.set_title('After filtering')

plt.tight_layout()

#plt.subplots_adjust(left=0.129, bottom=0.11, right=0.9, top=0.88,wspace=0.2, hspace=0.2)

#plt.show()

plt.savefig('D:\软件安装\SoftwareFile\Pycharm\PycharmProjects\\boxplot\\123', dpi=600)

效果图:

本次绘图参考的博客有:

Matplotlib - 箱线图、箱型图 boxplot () 所有用法详解

在一幅图中为箱线图设置不同颜色

matplotlib官方手册

注:本次绘图中的颜色搭配来自于:学术文章绘图常用颜色搭配(附RGB值)

由于python画图设置颜色的时候用到的为16进制的表示方式,所以我还借鉴了如何把rgb颜色值转换成16进制??所说的,在这里ColorHaxa完成了颜色表达方式的转化。

[Python画图笔记]利用Python画箱型图boxplot相关教程

boxplot用法 python,[Python画图笔记]利用Python画箱型图boxplot相关推荐

  1. Matplotlib - 箱线图、箱型图 boxplot () 所有用法详解

    目录 基本用法 水平箱线图,显示均值 改变箱线图的形状(箱体的形状notch.异常值的形状sym) 改变箱线图的颜色(箱体边框的颜色.箱体填充色) 相较散点图和折线图,柱状图.饼图.箱线图(箱型图)是 ...

  2. Python画箱型图之seaborn

    1.箱型图. import seaborn as sns import matplotlib.pyplot as plt df = sns.load_dataset('iris')p1=sns.box ...

  3. R语言箱型图 boxplot

    boxplot简介 boxplot称为箱型图,又叫做盒状图,胡须图.是用来表示数值类型数据分布状况的统计图.它能显示出一组数据的最大值.最小值.中位数.及上下四分位数. 四分位数百度百科 第一四分位数 ...

  4. python决策树画图_利用python用iris做一个决策树的可视化更好的理解机器学习!...

    先来看看说说主要步骤. 1.引入数据 2.训练模型 3.预测 1.引入数据,采用经典的iris数据 Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理.Iris也称鸢尾花卉数据集 ...

  5. 「Python海龟画图」利用海龟画笔绘制八卦图

    绘制八卦图的边界线 功能要求 八卦图的最外边界是一个圆形,内部从中心点出发,被正反两个半径为外圆圈半径1/2的半圆弧划分开来. 实例代码 import turtle# 设置八卦图的中心位置turtle ...

  6. python画箱型图,并得出正常值区间,subplot用法

    import numpy as np import pandas as pd import matplotlib.pyplot as plt data=pd.read_excel('C:\\Users ...

  7. matlab 画箱线图boxplot简单用法

    代码示例: data1=rand(5,1);%列向量 data2=rand(5,1);%列向量 data3=rand(5,1);%列向量 data=[data1,data2,data3]; boxpl ...

  8. Python 箱型图的绘制并提取特征值

    文章目录 一.简介 二.绘制与提取 1.图形绘制 2.ax.boxplot 函数的使用 3.特征值提取 三.多箱型图绘制 1.一种类型 2.多种类型 参考: https://blog.csdn.net ...

  9. 一起学画图:散点图+边缘分布统计图形-密度图-直方图-箱型图-小提琴图

    Part 1 :散点图+变量边缘分布图形 公众号原文点我,感谢支持 许多文章的散点图中,在散点图的周围还会有额外的单变量边缘分布统计图形(如下图).前面几期我们介绍过,散点图主要反映的是两个变量之间的 ...

最新文章

  1. 零基础小白学Java难度大不大
  2. Dubbo服务发布调用
  3. python中的reduce函数
  4. 群晖远程访问服务器,如何通过远程访问访问Synology中的所有数据
  5. php接收不到post数据_PHP解决Vue发起POST请求,接收不到数据
  6. HDU3595_GG and MM
  7. 值得拥有的手绘风格画图工具
  8. spark sql select selectExpr简析
  9. Java 反射Reflection总结二
  10. mysql主从中断原因_mysql主从中断
  11. 微信H5页面自定义微信分享内容
  12. 双闭环调速 matlab,双闭环直流调速系统仿真(Matlab).ppt
  13. 【golang】kafka
  14. 机器人学习--移动机器人定位导航性能评估规范
  15. 蛋白互作常用的研究方法
  16. spring-cloud-context源码解读
  17. Android App性能流畅度测评分析可以用到工具
  18. 论文笔记 | 基于深度学习的乳腺转移瘤识别(Deep Learning for Identifying Metastatic Breast Cancer)
  19. 【Axure交互教程】 可滑动的标签页效果
  20. win10系统C盘瘦身记录

热门文章

  1. navicat mysql表导入_Navicat for MySQL导入数据表的操作方法
  2. 【网络技术】什么是CNI
  3. 面试100人后的经验总结,看完这篇让你至少涨薪2000
  4. python matplotlib 双Y轴 以及 曲线标志位置
  5. 【最新计算机毕业设计】JAVA基于微信小程序的英语学习激励系统
  6. web前端全栈0基础到精通(祺)06
  7. 网站让百度收录的技巧有哪些?网站在百度收录情况怎么查询
  8. SAPGUI黑色背景设置
  9. java 颜色 16进制转换_Java中Color和16进制字符串互相转换的方法
  10. 快速高效 | Android身份证识别