栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Day1

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Day1

1、什么是Matplotlib

Matplotlib:最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建。

(1)Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
(2)Matplotlib 可以用来绘制各种静态,动态,交互式的图表。
(3)Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。
(4)Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D图形、甚至是图形动画等等。

2、Matplotlib基本语法要点

(1)设置坐标轴刻度

plt.xticks() 函数和 plt.yticks() 函数用来设置坐标轴的刻度显示的值

# 导入pyplot模块

from matplotlib import pyplot as plt

x = range(2, 26, 2)
y = [15, 13, 14, 5, 17, 20, 25, 26, 24, 22, 18, 15]

# 绘图
# 传入x和y的值,通过plot绘制出折线图
plt.plot(x, y)

# 调整x轴的刻度
_xtick_labels = [i/2 for i in range(4, 49)]
plt.xticks(_xtick_labels)
plt.yticks(range(min(y), max(y)+1))

其中当刻度过于密集时,可以使用列表的步长(间隔取值)来解决会自动帮我们对应

plt.xtick(x[::2])

(2)调整坐标轴上的刻度

# 调整x轴的刻度
xtick_labels = ["10点{}分".format(i) for i in range(60)]
xtick_labels += ["11点{}分".format(i) for i in range(60)]

# 取步长, 数字和字符串一一对应,数据的长度一样
plt.xticks(list(x)[::3], xtick_labels[::3], rotation=45, fontproperties=font)

此步的作用:
(1)让列表x中的数据和xtick_labels上的数据都传入,最终会在x轴上一一对应的显示出来;(可以理解为第二项覆盖显示原有的内容)
(2)两组是数据的长度必须一样,否则不能完全覆盖整个轴
(3)使用列表的切片,每隔3个选一个数据进行展示
(4)为了让字符串不会覆盖,使用rotation选项,让字符串旋转45度显示
测试如图所示:

(3)设置中文显示
Matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字。
笔者使用的是方法是从网络下载一种字体文件复制放入Python文件中,如图所示

然后再使用时引用即可,这样不用考虑路径的问题,减少出错。

from matplotlib.font_manager import FontProperties  # 导入FontProperties
font = FontProperties(fname="SimHei.ttf", size=8)  # 设置字体
# 取步长, 数字和字符串一一对应,数据的长度一样
plt.xticks(list(x)[::3], xtick_labels[::3], rotation=45, fontproperties=font)

如代码所示:先导入FontProperties,后面在需要显示字体后面使用fontproperties=font引用即可。

当然这只是笔者使用的方法,参考了下面的链接,有需要其他的方法可以参考一下。
CSDN:Matplotlib中正确显示中文的四种方式

(4)给图像添加描述信息
(1)设置x轴的label
(2)设置y轴的label
(3)设置title

# 设置x轴的label
plt.xlabel("时间", fontproperties=font)
# 设置y轴的label
plt.ylabel("温度(C)", fontproperties=font)
# 设置title
plt.title("10点到12点每分钟的时间变化情况", fontproperties=font)

如下图所示:

(5)保存图片

# 保存图片
plt.savefig("sig_size.png")

保存结果如图所示;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932021.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号