今天依然是matplotlib,在入门版的基础上加入了更多的组合和样式设置,matplotlib库是建立在Numpy基础上的绘图库。

典型统计图形对比

柱状图


堆积图:将若干统计图形堆叠起来的统计图形,是一种组合式图形。
将函数bar()中的参数bottom取值设定为列表y,此时plt.bar(x,y1,bottom=y)输出堆积柱状图。
分块图:对比多数据分布差异。
将函数bar()中x的取值加上bar_width实现并列柱状图的输出。
平行条形图:调用函数由bar()变为barch()

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
#data
x=np.arange(5)
y=[6,10,4,5,1]
y1=[2,3,3,8,5]
bar_width=0.35
tick_label=["A","B","C","D","E"]
plt.bar(x,y,bar_width,color="#66c2a5",edgecolor='black',label="班级A")
'''这个函数会输出堆积柱状图'''
plt.bar(x,y1,bar_width,color="#8da0cb",bottom=y,edgecolor='black',label="班级B") #这个函数会输出堆积柱状图
plt.xticks(x,tick_label)
'''这是多数据并列柱状图
plt.bar(x+bar_width,y1,bar_width,color="#8da0cb",edgecolor="black",label="班级B") #这个函数输出多数据并列柱状图
plt.xticks(x+bar_width/2,tick_label)
'''
plt.legend()
plt.show()

参数调整


使用关键字参数hatch="//"设置柱状体的填充样式,如“/”、“//”、“o”、“*”等,每种符号字符串都是一种几何样式,符号数量越多,几何图形密集程度越高。

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
#data
x=np.arange(5)
y=[6,10,4,5,1]
y1=[2,3,3,8,5]
bar_width=0.2
tick_label=["A","B","C","D","E"]
plt.bar(x,y,bar_width,color="#E2EFD9",edgecolor='black',label="班级A",hatch="/")
plt.bar(x+bar_width,y1,bar_width,color="#DEEBF6",edgecolor="black",label="班级B",hatch="//") #这个函数输出多数据并列柱状图
plt.bar(x+2*bar_width,y,bar_width,color="#FADBD2",edgecolor='black',label="班级C",hatch="x")
plt.bar(x+3*bar_width,y1,bar_width,color="#FFF2CC",edgecolor="black",label="班级D",hatch="o") #这个函数输出多数据并列柱状图
plt.xticks(x+1.5*bar_width,tick_label)
plt.legend()
plt.show()

堆积折线图 stackplot()


堆积折线图:绘制不同数据集的折现而生成的,按照垂直方向上彼此堆叠且又不相互覆盖的排列顺序的组合图形。每一个颜色断层代表一条折线所属的数据区域。
plt.stackplot(x,y)

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(1,6)
y=[0,4,3,5,6]
y1=[1,3,2,2,7]
y2=[3,4,1,6,5]
labels=["BluePlanet","PinkPlanet","YellowPlanet"]
colors=["#DEEBF6","#FADBD2","#FFF2CC"]
plt.stackplot(x,y,y1,y2,labels=labels,colors=colors,edgecolor='grey')
plt.legend(loc="upper left")
plt.show()

阶梯图


阶梯图:反映数据的趋势变化或是周期规律,使用在时间序列数据的可视化任务中,凸显时序数据的波动周期和规律。
plt.step(x,y)

x = np.linspace(1,10,10)
y = x
plt.step(x,y,color="#F1937A",where="pre",lw=2)# where="post"
plt.xlim(0,11)
plt.xticks(np.arange(1,11,1))
plt.ylim(0,11)
plt.show()

间断条形图


间断条形图:实现定性数据的相同指标在时间维度下的变化情况。
ax.broken_barh([(110, 30), (150, 10)], (10, 9), facecolors='tab:blue'),各参数含义已解释在注释中。

import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.broken_barh([(110, 30), (150, 10)], (10, 9), facecolors='tab:blue')
ax.broken_barh([(10, 50), (100, 20), (130, 10)], (20, 9),  #从10开始沿x轴正向移动50个单位; 参数(20,9)是指y轴数值从20开始facecolors=('tab:orange', 'tab:green', 'tab:red'))
ax.set_ylim(5, 35)
ax.set_xlim(0, 200)
ax.set_xlabel('seconds since start')
ax.set_yticks([15, 25])
ax.set_yticklabels(['Bill', 'Jim'])
ax.grid(True)
ax.annotate('race interrupted', (61, 25),  #箭头xytext=(0.8, 0.9), textcoords='axes fraction',arrowprops=dict(facecolor='black', shrink=0.05),fontsize=16,horizontalalignment='right', verticalalignment='top')
plt.show()

箱线图




箱线图的组成部分:箱体、箱须和离群值,其中箱体主要由第一四分位数、中位数和第三四分位数组成。

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
# Fixing random state for reproducibility
np.random.seed(19680801)
# fake up some data
spread = np.random.rand(50) * 100
center = np.ones(25) * 50
flier_high = np.random.rand(10) * 100 + 100
flier_low = np.random.rand(10) * -100
data = np.concatenate((spread, center, flier_high, flier_low))
###############################################################################fig1, ax1 = plt.subplots()
ax1.set_title('箱线图基本版(1 of 6)')
ax1.boxplot(data)###############################################################################fig2, ax2 = plt.subplots()
ax2.set_title('V型凹痕箱线图(2 of 6)')
ax2.boxplot(data, notch=True)###############################################################################green_diamond = dict(markerfacecolor='g', marker='D')
fig3, ax3 = plt.subplots()
ax3.set_title('箱线图改离群点格式(3 of 6)')
ax3.boxplot(data, flierprops=green_diamond)###############################################################################fig4, ax4 = plt.subplots()
ax4.set_title('箱线图隐藏离群点格式(4 of 6)')
ax4.boxplot(data, showfliers=False)###############################################################################red_square = dict(markerfacecolor='r', marker='s')
fig5, ax5 = plt.subplots()
ax5.set_title('箱线图水平放(5 of 6)')
ax5.boxplot(data, vert=False, flierprops=red_square)################################################################################ Fake up some more data
spread = np.random.rand(50) * 100
center = np.ones(25) * 40
flier_high = np.random.rand(10) * 100 + 100
flier_low = np.random.rand(10) * -100
d2 = np.concatenate((spread, center, flier_high, flier_low))###############################################################################
data = [data, d2, d2[::2]]
fig7, ax7 = plt.subplots()
ax7.set_title('多个箱线图(6 of 6)')
ax7.boxplot(data)
plt.show()

动态版箱线图可以点击 介个:https://blog.csdn.net/vv_eve/article/details/107555948
动态版柱状图需要点击 介个

python数据可视化 matplotlib(2) 小白 - 典型图形进阶版:堆积折线图/并列柱状图/阶梯图/箱线图相关推荐

  1. 每日一课 | Python数据可视化—Matplotlib初体验

    04. Matplotlib初体验 大家好,我是小C,上期给大家分享--Python数据可视化-如何做好启动准备(小白必读) 本期分享内容:Python数据可视化-Matplotlib初体验 本期小C ...

  2. Python数据可视化matplotlib:第四回:文字图例尽眉目

    Python数据可视化matplotlib:第四回:文字图例尽眉目 1. Figure和Axes上的文本 大家可以看到有些论文或者博客上都有绘制的很漂亮的图,其中大部分都在图形绘制上进行一定的注释说明 ...

  3. Python数据可视化matplotlib(一)—— 图表的基本元素

    Python数据可视化matplotlib(一)-- 图表的基本元素 图表创建 plt.show() # 图表窗口1 → plt.show()plt.plot(np.random.rand(10)) ...

  4. 【数据处理】python matplotlib 画箱线图;箱线图介绍;如何画箱线图

    一.箱线图介绍 假设一组数据有n个数,将它们从小到大排列,分为四等分.位于第25%(n+1)位置的数字是第一四分位数Q1.位于第50%(n+1)位置的数字是第二四分位数Q2,也是中位数.位于第75%( ...

  5. 第十九章 python 数据可视化 Matplotlib Pygal

    python 数据可视化 一.使用Matplotlib生成数据图 1. matplotlib画图中文乱码小方框的解决方法 2. 知识点 3. 安装Matplotlib包 4. Matplotlib数据 ...

  6. Python数据可视化的例子——多个图形的合并

    工作中往往会根据业务需求,将绘制的多个图形组合到一个大图框内,形成类似仪表板的效果.针对这种情况,如何应用Python将前面所学的各种图形汇总到一个图表中,这将是本节所要学习的重点. 关于多种图形的组 ...

  7. Python数据可视化-matplotlib and seaborn

    作者:vinyyu 声明:版权所有,转载请注明出处,谢谢. 鸢尾花iris.csv文件 numpy, matplotlib, seaborn, pandas #准备好需要的库 import numpy ...

  8. Python数据可视化之散点图(基础篇---图文并茂详细版!!!)

    Python数据可视化之散点图 介绍 准备工作 所需的库 虚拟环境 简单散点图 总结 两种不同颜色和图例的散点图 总结 介绍 •数据可视化的应用十分广泛,几乎可以应用于自然科学.工程技术.金融.通信和 ...

  9. plot(matplotlib.pyplot)绘图(柱状图)(箱线图)

    使用数据地址:链接:https://pan.baidu.com/s/1wXtZRDcM-JKk_dIDRyd_dg?pwd=pyth 提取码:pyth (电影评分数据) 导入数据 import pan ...

最新文章

  1. 【实验报告】四恶意代码实验
  2. Apache Spark 2.0: 机器学习模型持久化
  3. linux如果一个目录具有执行,Linux操作系统部分复习题答案
  4. Serilog 日志框架如何自动删除超过 N 天的日志 ?
  5. 3.15 送货通知单
  6. 基于非特定人语音识别芯片的技术方案
  7. php用date表示本月,用php获取本周,上周,本月,上月,本季度日期的代码
  8. linux系统下sed切割日志
  9. 免安装版的Mysql
  10. StarUML画用例图
  11. 微信小程序给公众号发送模板消息
  12. D3D11 包围体碰撞检测
  13. HP刀片服务器系统Flex,HP刀片服务器系统Flex-10 VC配置与VMware vSphere网络设计
  14. 济南技校计算机专业学什么,技校计算机专业学什么-邹城
  15. N卡版本查询--Windows命令下:
  16. 网易云商-七鱼客服使用感受
  17. 【C/C++】fstream详解
  18. Linux可重入函数
  19. 89.77%准确率!谷歌大脑提出CoAtNet:结合卷积和注意力
  20. 轻松破解Word文档“保护密码”

热门文章

  1. 【数字图像处理】YUV格式转化为YUY2
  2. 3DSlicer中使用简单脚本处理数据
  3. java计算机毕业设计医院住院部信息管理系统源码+数据库+系统+lw文档+mybatis+运行部署
  4. R语言之quantmod包
  5. 【笔记】OpenMPI基本使用1
  6. 数字图像处理学习笔记(十七)分割出彩色图像中的“蓝色”部分
  7. 多智能体强化学习入门(八)——图卷积强化学习DGN
  8. 无限极分类原理php,浅谈PHP无限极分类原理
  9. 分页查询,但是页面只重复显示一条数据
  10. Android Volatile 关键字学习