【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()
相关文章
|
7月前
|
运维 监控 数据可视化
Python 网络请求架构——统一 SOCKS5 接入与配置管理
通过统一接入端点与标准化认证,集中管理配置、连接策略及监控,实现跨技术栈的一致性网络出口,提升系统稳定性、可维护性与可观测性。
|
8月前
|
数据采集 数据可视化 数据挖掘
Python数据分析实战:Pandas处理结构化数据的核心技巧
在数据驱动时代,结构化数据是分析决策的基础。Python的Pandas库凭借其高效的数据结构和丰富的功能,成为处理结构化数据的利器。本文通过真实场景和代码示例,讲解Pandas的核心操作,包括数据加载、清洗、转换、分析与性能优化,帮助你从数据中提取有价值的洞察,提升数据处理效率。
413 3
|
10月前
|
设计模式 SQL 人工智能
Python设计模式:从代码复用到系统架构的实践指南
本文以Python为实现语言,深入解析23种经典设计模式的核心思想与实战技巧。通过真实项目案例,展示设计模式在软件开发中的结构化思维价值,涵盖创建型、结构型、行为型三大类别,并结合Python动态语言特性,探讨模式的最佳应用场景与实现方式,帮助开发者写出更清晰、易维护的高质量代码。
575 1
|
10月前
|
设计模式 人工智能 算法
Python设计模式:从代码复用到系统架构的实践指南
本文探讨了电商系统中因支付方式扩展导致代码臃肿的问题,引出设计模式作为解决方案。通过工厂模式、策略模式、单例模式等经典设计,实现代码解耦与系统扩展性提升。结合Python语言特性,展示了模块化、装饰器、适配器等模式的实战应用,并延伸至AI时代的设计创新,帮助开发者构建高内聚、低耦合、易维护的软件系统。
477 0
|
10月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
1149 0
|
7月前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
8月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
937 7
|
8月前
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。
|
9月前
|
存储 数据挖掘 大数据
基于python大数据的用户行为数据分析系统
本系统基于Python大数据技术,深入研究用户行为数据分析,结合Pandas、NumPy等工具提升数据处理效率,利用B/S架构与MySQL数据库实现高效存储与访问。研究涵盖技术背景、学术与商业意义、国内外研究现状及PyCharm、Python语言等关键技术,助力企业精准营销与产品优化,具有广泛的应用前景与社会价值。

推荐镜像

更多