python—matplotlib库系列学习(二):bar函数(包含xticks、yticks、savefig函数)

系列文章目录

python—matplotlib库系列学习(一):plot函数(包含title、xlabel、ylabel、legend函数)_plt函数-CSDN博客


目录

引言

bar函数

(1)简单的举例说明

 (2)参数说明

通用的图形美化

 1. xticks、yticks函数

2. savefig函数(保存当前的图片)

 总结


引言

        由于考研,我们这个系列也好久没有更新了呜呜呜,但是之后我会继续加油嘟!同样在下面附上我参考学习的网站,大家也可以自行学习~

matplotlib — Matplotlib 3.8.2 documentationicon-default.png?t=N7T8https://matplotlib.org/stable/api/matplotlib_configuration_api.html

bar函数

(1)简单的举例说明

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #显示文字
# 准备数据
x = ['A', 'B', 'C', 'D']
y = [10, 5, 7, 3]
# 绘制柱状图
plt.bar(x, y)
# 设置标题和坐标轴标签
plt.title('简单的柱状图')
plt.xlabel('x轴')
plt.ylabel('y轴')
# 展示图表
plt.show()

 (2)参数说明

#下面是说明文档给出的参数
matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)
# height:条形图的高度
# width:条形图的宽度,默认值为0.8
# bottom:条形图底部的y坐标,默认值为0(就是y轴从几开始)
# align:条形图与x坐标的对齐方式。 有'center'、'edge'  默认值:'center'
# **kwargs 指的是使用其他关键字参数作为文本属性

        我们把上面的一些基本参数使用一下,举例如下ʕ•ᴥ•ʔ

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
# 准备数据
x = ['A', 'B', 'C', 'D']
# 绘制柱状图
plt.bar(x , height=10 , width=0.5, bottom=100 , align='edge')
# 设置标题和坐标轴标签
plt.title('简单的柱状图')
plt.xlabel('x轴')
plt.ylabel('y轴')
# 展示图表
plt.show()

        我们可以看到y轴是从100开始的(bottom参数),并且实现了x轴坐标的左对齐(align参数),以及对宽度和高度的调整。

        注意:如果我们想实现x轴坐标的右对齐,需要设置一个负的宽度(width参数),举例如下:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
# 准备数据
x = ['A', 'B', 'C', 'D']
# 绘制柱状图
plt.bar(x , height=233 , width=-0.8, bottom=114514 , align='edge')
# 设置标题和坐标轴标签
plt.title('简单的柱状图')
plt.xlabel('x轴')
plt.ylabel('y轴')
# 展示图表
plt.show()

        除了上述的基本参数外,当然还有一些其他的参数,就不挨个举例子啦o(´^`)o,但我会列在下面,大家有需要自取就好。只列举了一部分,完整请自行访问~

matplotlib.pyplot.bar — Matplotlib 3.8.2 documentationicon-default.png?t=N7T8https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.bar.html#matplotlib.pyplot.bar

Property

Description

color柱面颜色
edgecolor柱边框的颜色
linewidth条形边缘的宽度,如果为0,则不绘制边缘
tick_label柱线的刻度标签
label标签

hatch

柱形填充符号:{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

log如果为True,则将y轴设置为对数刻度

        举例如下:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
# 准备数据
x = ["a","b","c","d"]
# 绘制柱状图
plt.bar(x , height=20 , width=0.3, bottom=10 , align='edge'
        , color="#00CED1" , hatch='/' , edgecolor="black" ,
        linewidth="5")
# 设置标题和坐标轴标签
plt.title('简单的柱状图')
plt.xlabel('x轴')
plt.ylabel('y轴')
# 展示图表
plt.show()

        在结合之前学习的内容完善一下: 

import matplotlib.pyplot as plt
fruits = ['apple', 'blueberry', 'cherry', 'orange']
counts = [40, 100, 30, 55]
bar_colors = ['red', 'blue', 'green', 'orange']
#绘制柱状
plt.bar(fruits, counts, color=bar_colors)
#给y轴命名
plt.ylabel('fruit supply')
#添加标题
plt.title('Fruit')
#展示图形
plt.show()

通用的图形美化

 1. xticks、yticks函数

         获取或设置x,y轴的当前刻度位置和标签,它们的参数如下:

matplotlib.pyplot.xticks(ticks=None, labels=None, *, minor=False, **kwargs)
# ticks  X轴刻度间隔
# labels 每个间隔的显示标签
# minor  如果设置成False,获取/设置主要刻度/标签;如果设置成True,获取/设置次要刻度/标签
# **kwargs 指的是使用其他关键字参数作为文本属性

        其中yticks和上面xticks是一个道理,举个栗子:

import matplotlib.pyplot as plt
#柱体的标签
labels = ['A', 'B', 'C', 'D', 'E']
#柱体的高度
values = [10, 15, 7, 12, 9]
#柱体的索引
x = range(len(labels))
#绘制柱状图
plt.bar(x, values)
#设置x轴标签和刻度
plt.xticks(x, labels)
#设置y轴刻度范围
plt.yticks(range(0, max(values) + 6, 5))
#添加柱体高度的数值标注
for i, value in enumerate(values):
    plt.text(i, value + 0.5, str(value), ha='center')
#添加x轴和y轴标签
plt.xlabel('Category')
plt.ylabel('Value')
#添加标题
plt.title('Bar Chart')
#显示图表
plt.show()

2. savefig函数(保存当前的图片)

savefig(fname, *, transparent=None, dpi='figure', format=None,
        metadata=None, bbox_inches=None, pad_inches=0.1,
        facecolor='auto', edgecolor='auto', backend=None,
        **kwargs
       )
fname输出文件的名称。字符串、类路径对象或类二进制对象,必备参数
(1)如果设置了format参数,文件按照format参数格式输出,文件名为fname。注意,如果文件名不会再追加format参数对应的扩展名或更改fname中的扩展名。因此可能出现文件扩展名与实际输出格式不一致的情况
(2)如果没有设置format参数,当fname中包含扩展名时,会直接直接使用扩展名对应的格式输出(注意,扩展名如果不是支持的格式,将会抛出异常),当fname中不包含扩展名时,会直接按rcParams["savefig.format"]值(默认为png)输出,并将扩展名追加至fname
transparent

如果为True,轴线补丁都将是透明的;除非通过 kwargs 指定了面色、边色,否则图形补丁也将是透明的

如果设置为False则没有影响,轴线和图形补丁的颜色保持不变(除非通过关键字参数指定了图形补丁,否则将使用这些颜色)

退出此函数后,这些补丁的透明度将恢复为原始值

dpi输出图像的分辨率(每英寸的像素点数),如果是 “figure”,则使用“figure”的dpi值
format文件格式,例如 "png"、"pdf"、"svg"等,未设置时的行为记录在 fname 下
metadata用于存储图像元数据的键值对
bbox_inches以英寸为单位的边界框:只保存图形的给定部分。如果为“tight”,则尝试找出图形的紧边界框。
pad_inches当 bbox_inches 为“tight”时,图形周围以英寸为单位的填充量
facecolor图片的背景颜色,若为“auto”,则使用当前的背景颜色
edgecolor图片的边框颜色,若为“auto”,则使用当前的边框颜色
backend使用非默认后端来渲染文件

        举个例子:

import matplotlib.pyplot as plt
import numpy as np
x = np.arange(14)
y = np.sin(x / 2)
plt.step(x, y + 2, label='pre (default)')
plt.plot(x, y + 2, 'o--', color='grey', alpha=0.3)

plt.step(x, y + 1, where='mid', label='mid')
plt.plot(x, y + 1, 'o--', color='grey', alpha=0.3)

plt.step(x, y, where='post', label='post')
plt.plot(x, y, 'o--', color='grey', alpha=0.3)

plt.grid(axis='x', color='0.95')
plt.legend(title='Parameter where:')
plt.title('plt.step(where=...)')
plt.show()
plt.savefig("save the picture.png", dpi=300)#!!!!!!!!!!!!!!!!

        图形就被保存在下面了~ 然后再电脑里去找这个图片所在的文件夹就可以辣~

 总结

        我写的文章更多是面向萌新小白的(ps.因为画的图都比较简单hahahaha)

        当然,上述的学习还有很多函数可以完善我们的图形,我们留在下一次的文章进行说明,并且会讲一个新的图形函数。

        希望大家发现问题可以及时指出,我也是在不断学习进步中~~~ 谢谢大家的观看,如果帮到了你还请点个赞~

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值