Python绘制多因子柱状图的实现示例

Psyche ·
更新时间:2024-11-10
· 1443 次阅读

目录

背景介绍

软件介绍

绘图教程

最后

背景介绍

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)

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()

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()

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 多因子柱状图内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!



示例 柱状图 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号