【Python数据分析 - 1】:matplotlib绘图架构Part1【折线图和基础绘图】

简介: 【Python数据分析 - 1】:matplotlib绘图架构Part1【折线图和基础绘图】

一、简单绘一条斜线


导入模块:import matplotlib.pyplot


代码如下


1. import matplotlib.pyplot as plt
2. plt.figure(figsize=(8,8), dpi=80)
3. plt.plot([1,2,3], [4,5,6])
4. plt.show()


plt.figure() — 实例一个图画对象


figsize=(高,宽) — 用来控制图像的大小


dpi — 图像清晰度,数值越大越清晰,不过使运行时间变长


plt.plot([……], [……])  — 画图操作,第一个列表是x轴,第二个列表是y轴

plt.show() — 将所画的图像展示出来


运行结果: f220f8b1e5b94b899874de16f072c4e3.png


图形的基本构成


Scripting(脚本)


Artist(美工)


Backend (后端)


a0d0366bda4f4c47a0404af247bbdaba.png





二、绘制城市温度折线图


以模拟长沙和北京的天气为例 (y轴为温度,x轴为时间)


1、解析画图过程


1、先导入即将使用的模块


1. import matplotlib.pyplot as plt
2. import random



2、设置字体


只有设置字体后才能在图形中显示字体

# 设置字体 , 这里设置为微雅黑
plt.rcParams['font.sans-serif'] = ['SimHei']



3、准备数据


通过:[random.uniform(x, y) for i in 60] 的方法,循环60次,每次从x到y的范围内获取一个随机小数

# 创建一个figure
plt.figure(figsize=(20,8), dpi=80)
# 准备数据
x = range(60)
y_Changsha = [random.uniform(15,18) for i in x]
y_Beijing = [random.uniform(10, 14) for i in x]



4、构造中文


1. # 构造中文
2. x_ch = ['11点{}分'.format(i) for i in x]



5、画出图像


   注意:画图必须要在修改刻度和增加显示之前,否则可能会出现bug  


   plt.plot(x, y_Beijing, color='r', linestyle='--', label='北京')


   color -- 设置线条颜色


   linestyle -- 设置线条风格,linestyle='--' 表示线条为虚线


   label -- 给线条设置标签,便于区分

# 画出图像,画图必须要在修改刻度和增加显示之前,否则可能会出现bug
plt.plot(x, y_Changsha, label="长沙")
plt.plot(x, y_Beijing, color='r', linestyle='--', label='北京')


6、修改刻度


修改x轴刻度:plt.xticks(刻度, 刻度名)


修改y轴刻度:plt.yticks(刻度, 刻度名)  


一般刻度都是以数字出现,当刻度和刻度名一起出现时,就会将刻度名代替刻度上的数字。注意:刻度和刻度名的长度要相同。


当只设置刻度时,就会以数字出现比如 plt.yticks(range(60)[::5]) 隔五个取一个数,就成了0,5,10,……


# 修改x轴, y轴的刻度
y_ticks = range(40)
plt.xticks(x[::5], x_ch[::5], rotation=45)
plt.yticks(y_ticks[::5])


rotation -- 刻度的倾斜度,ratation=45表示刻度向下倾斜45度


7、增加标题、坐标说明、显示标签


坐标说明:


plt.xlabel(x轴坐标说明)


plt.ylabel(y轴坐标说明)


增加标题:


plt.title(标题内容)


显示标签:


plt.legend(loc="best"),设置显示标签前必须在画图(plt.plot())中设置标签,否则无法显示。


保存图片:

plt.savefig(),括号中是图片保存的路径,最后要给图片取名并加上后缀名:png或jpg


# 增加标题、坐标说明
plt.xlabel('时间')
plt.ylabel('温度')
plt.title('长沙和北京的温度变化折线图')
plt.legend(loc="best")
# 保存图片
plt.savefig('城市温度折线图.png')
plt.show()


8、运行结果

c8a06bd8c37b46ed98f593cd7638dc44.png


9、在根目录下查看图片是否保存

66882c53ed9f46c09d3a3bfc0a9fcfe1.png

2、完整源代码

import matplotlib.pyplot as plt
import random
# 设置字体 , 这里设置为微雅黑
plt.rcParams['font.sans-serif'] = ['SimHei']
# 创建一个figure
plt.figure(figsize=(20,8), dpi=80)
# 准备数据
x = range(60)
y_Changsha = [random.uniform(15,18) for i in x]
y_Beijing = [random.uniform(10, 14) for i in x]
# 构造中文
x_ch = ['11点{}分'.format(i) for i in x]
# 画出图像,画图必须要在修改刻度和增加显示之前,否则可能会出现bug
plt.plot(x, y_Changsha, label="长沙")
plt.plot(x, y_Beijing, color='r', linestyle='--', label='北京')
# 修改x轴, y轴的刻度
y_ticks = range(40)
plt.xticks(x[::5], x_ch[::5], rotation=45)
plt.yticks(y_ticks[::5])
# 增加标题、坐标说明
plt.xlabel('时间')
plt.ylabel('温度')
plt.title('长沙和北京的温度变化折线图')
plt.legend(loc="best")
# 保存图片
plt.savefig('城市温度折线图.png')
plt.show()
相关文章
|
6月前
|
运维 监控 数据可视化
Python 网络请求架构——统一 SOCKS5 接入与配置管理
通过统一接入端点与标准化认证,集中管理配置、连接策略及监控,实现跨技术栈的一致性网络出口,提升系统稳定性、可维护性与可观测性。
|
9月前
|
设计模式 SQL 人工智能
Python设计模式:从代码复用到系统架构的实践指南
本文以Python为实现语言,深入解析23种经典设计模式的核心思想与实战技巧。通过真实项目案例,展示设计模式在软件开发中的结构化思维价值,涵盖创建型、结构型、行为型三大类别,并结合Python动态语言特性,探讨模式的最佳应用场景与实现方式,帮助开发者写出更清晰、易维护的高质量代码。
478 1
|
9月前
|
设计模式 人工智能 算法
Python设计模式:从代码复用到系统架构的实践指南
本文探讨了电商系统中因支付方式扩展导致代码臃肿的问题,引出设计模式作为解决方案。通过工厂模式、策略模式、单例模式等经典设计,实现代码解耦与系统扩展性提升。结合Python语言特性,展示了模块化、装饰器、适配器等模式的实战应用,并延伸至AI时代的设计创新,帮助开发者构建高内聚、低耦合、易维护的软件系统。
437 0
|
7月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
849 7
|
运维 负载均衡 安全
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
447 0
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
412 1
|
11月前
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
381 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
|
机器学习/深度学习 设计模式 API
Python 高级编程与实战:构建微服务架构
本文深入探讨了 Python 中的微服务架构,介绍了 Flask、FastAPI 和 Nameko 三个常用框架,并通过实战项目帮助读者掌握这些技术。每个框架都提供了构建微服务的示例代码,包括简单的 API 接口实现。通过学习本文,读者将能够使用 Python 构建高效、独立的微服务。

推荐镜像

更多
下一篇
开通oss服务