Python 绘制多因子柱状图


Posted in Python onMay 11, 2022

背景介绍

R和Python作为两个开源、且容易上手的数据分析和绘图工具,在科研中应用的比较广泛。

在接下来的日子,我们围绕Python进行绘图和数据分析话题,写一系列推文,事实上是我自己的一些学习笔记分享出来,为了我

方便查阅,也方便大家翻阅。

软件介绍

[软件名称]:Anaconda | Spyder

[软件安装]:可以参考下方这个推文

Anaconda的下载和安装

绘图教程

1.打开Spyder软件,我们导入相应的库,以及生成一组数据。(一开始作图的时候,先不要想那么多,跟着敲代码就行)

#
# 导入相应的库(包)
import numpy as np     # 生成数据的包
import matplotlib.pyplot as plt    #作图的包

# 生成一组数据
x = np.arange(5)
y = [1, 5, 2, 3, 7]
y1 = [4, 6, 3, 5, 9]

2.查看一下数值

print(x,y,y1)

Python 绘制多因子柱状图

3.开始作图,下面是作图代码,照着敲一下,找找感觉,此时图形已经成型

###
plt.bar(# 设置x和y
        x,y,   

        # 设置柱子宽度 
       width=0.3,        
        
        # 设置柱子颜色
       color = "red",         
        
        # 设置legend的名称
       label = "y")    

plt.bar(x+0.3,y1,
        width = 0.3,
        color = "green",
        label = "y1")

# 设置x轴tick的位置
plt.xticks(x+0.3/2,x) 

# 显示legend  
plt.legend()            

# 设置x的标签
plt.xlabel(# x标签的名称
          "x_names",   
           
           # x标签的字体大小
          size = 12,   
           
           # x标签的字体颜色
          color = "blue") 

plt.ylabel("y_names",
           size = 12,
           color = "blue")

# y轴的范围(x轴的范围只需要将y变为x即可)
plt.ylim(0,10)

# 显示图形
plt.show()

Python 绘制多因子柱状图

4.目前做的事两列的因子,如果我们有三个,或者多个呢?下面我们假设有三个数据,更改相应的参数后,绘图如下

# 增加一列数据
y2 = [5,3,7,9,6]

plt.bar(x,y,
        width=0.3,
        color = "red",
        label = "y")
plt.bar(x+0.3,y1,
        width = 0.3,
        color = "green",
        label = "y1")

# 新增绘图部分
plt.bar(x+0.6,y2,
        width = 0.3,
        color = "blue",
        label = "y1")

# 需要更改的部分
plt.xticks(x+0.6/2,x) 
plt.legend()         

plt.xlabel("x_names", 
           size = 12,
           color = "blue") 

plt.ylabel("y_names",
           size = 12,
           color = "blue")
plt.ylim(0,10)
plt.show()

Python 绘制多因子柱状图

5.使用hatch参数,可以对柱子进行填充如:hatch = “/”,此外有其他填充形状,如’/', ‘’, ‘|’, ‘-’, ‘+’, ‘x’, ‘o’, ‘O’, ‘.’, ‘*’,比如我们使用该参数对柱子进行填充,看看效果

plt.bar(x,y,
        width=0.28,
        color = "red",
        label = "y",
        # 填充形状
       hatch = "//")
plt.bar(x+0.3,y1,
        width = 0.28,
        color = "green",
        label = "y1",
        # 填充形状
       hatch = ".")

plt.bar(x+0.6,y2,
        width = 0.28,
        color = "blue",
        label = "y1",
        # 填充形状
       hatch = "-")

plt.xticks(x+0.6/2,x) 
plt.legend()         

plt.xlabel("x_names", 
           size = 12,
           color = "blue") 

plt.ylabel("y_names",
           size = 12,
           color = "blue")
plt.ylim(0,10)
plt.show()

Python 绘制多因子柱状图

最后

到此这篇关于Python绘制多因子柱状图的实现示例的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
Python用zip函数同时遍历多个迭代器示例详解
Nov 14 Python
对python中return和print的一些理解
Aug 18 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
彻彻底底地理解Python中的编码问题
Oct 15 Python
python实现多层感知器
Jan 18 Python
Python如何实现转换URL详解
Jul 02 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
Aug 13 Python
python通过文本在一个图中画多条线的实例
Feb 21 Python
Python递归调用实现数字累加的代码
Feb 25 Python
Python检测端口IP字符串是否合法
Jun 05 Python
Python预测2020高考分数和录取情况
Jul 08 Python
python为什么要安装到c盘
Jul 20 Python
PyCharm 配置SSH和SFTP连接远程服务器
May 11 #Python
Python 文字识别
May 11 #Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 #Python
Python 匹配文本并在其上一行追加文本
May 11 #Python
Python 一键获取电脑浏览器的账号密码
May 11 #Python
图神经网络GNN算法
May 11 #Python
python神经网络ResNet50模型
May 06 #Python
You might like
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
PHP输出缓冲控制Output Control系列函数详解
2015/07/02 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
Extjs中常用表单介绍与应用
2010/06/07 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
判断某个字符在一个字符串中是否存在的js代码
2014/02/28 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
python 运算符 供重载参考
2009/06/11 Python
python实现的系统实用log类实例
2015/06/30 Python
python实现基本进制转换的方法
2015/07/11 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
Ajax主要包含了哪些技术
2014/06/12 面试题
销售文员岗位职责
2013/11/29 职场文书
个人承诺书
2014/03/26 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
运动会跳远广播稿
2015/08/19 职场文书
小学四年级作文之写景
2019/08/23 职场文书
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB
vue+iview实现手机号分段输入框
2022/03/25 Vue.js