IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【Python】Matplotlib绘图02_pyplot图表美化 -> 正文阅读

[人工智能]【Python】Matplotlib绘图02_pyplot图表美化

本人依据上课学习内容,将matplotlib内容浓缩为代码块
以下是第二部分的学习内容:
1.添加图表辅助元素
2.子图绘制
3.共享坐标轴
4.双坐标轴
5.调整子图之间的距离

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

x = np.arange(5)
y1 = np.array([10, 8, 7, 11, 13])
y2 = np.array([9, 6, 5, 10, 12])
lines = plt.plot(x, y1, x, y2)

'''1.添加图表辅助元素'''
# 轴标签
# axes对象用set_xlabel()
plt.xlabel('x轴')
plt.ylabel('y轴')

# 刻度范围与刻度标签
# 标签也可以在绘制的时候用label等参数直接控制
# 若不设置,则坐标轴的刻度范围取决于数据中的最大值和最小值
# axes用set_xlim(),set_xticklabels
plt.xlim(x.min() - 1.5, x.max() + 1.5)
plt.xticks(np.arange(5), ['a', 'b', 'c', 'd', 'e'])

# 标题
# axes用set_title()
plt.title('展示图表辅助元素的折线图')

# 图例
# 如果plot建立的时候已经指明label内容,直接plt.legend()即可
# fancybox边框设为圆角,loc设置位置
plt.legend(lines, ['折线1', '折线2'], shadow=True, fancybox=True,
           loc='best', title='图例标题展示')

# 网格
# 坐标轴无刻度,则无法显示网格
# visible是否显示网格,axis='both'/'x'/'y'显示哪个方向的网格
plt.grid(visible=True, axis='y', linewidth=0.3)

# 参考线
# 水平参考线,y是参考线y轴坐标,xmin,xmax是参考线起止位置比例
plt.axhline(y=0, xmax=0, xmin=1, linestyle='--')
# 垂直参考线,x是参考线x轴坐标
plt.axvline(x=0, ymax=0, ymin=1, linestyle='--')

# 参考区域
# ymin:表示水平跨度的下限
# ymax:表示水平跨度的上限
# xmin:表示垂直跨度的下限
# xmax:表示垂直跨度的上限
# 水平参考区域,ymin,ymax以数据为单位,xmin,xmax以轴为单位
plt.axhspan(ymin=0.5, ymax=1.0, alpha=0.3)
# 垂直参考区域
plt.axvspan(xmin=0.5, xmax=2.0, alpha=0.3)

# 注释文本
# (1)有指向
# xy需要指的坐标,xytest注释文本位置,arrowprops箭头字典
plt.annotate('折线1最小值', xy=(x.min()+2, y1.min()+0.5),
             xytext=(x.min()+2+1, y1.min()+0.5+1), arrowprops=dict(arrowstyle="->"))
# (2)无指向
# x,y注释文本坐标,s注释文本内容
# bbox注释文本边框属性
plt.text(x=3.10, y=0.10, s="y=0参考线", bbox=dict(alpha=0.2))

# 编写数学表达式文本
# r'$\alpha > \beta$'  a>b
# r'$\alpha_i > \beta_i$'  ai>bi, _下标,^上标
# r'$\frac{3}{4}$'  3/4  \frac{}{}显示分数
# r'$\frac{5 - \frac{1}{x}}{4}$'   (5-1/x)/4

# 表格
plt.table(cellText=[[6, 6, 6], [8, 8, 8]], colWidths=[0.1] * 3,
          rowLabels=['第1行', '第2行'], colLabels=['第1列', '第2列', '第3列'], loc='upper left')

plt.show()

'''2.子图绘制'''
# Figure函数:
fig = plt.figure(figsize=(6, 8))  # 创建a*b尺寸的画布
ax = fig.add_subplot(111)  # 在画布上添加1,1,1(1行1列索引1)绘图区域
ax.plot(y1)
# Subplots函数:
fig, ax = plt.subplots(2, 2, figsize=(10, 5))
ax1 = ax[1, 0]  # 行1列0
ax1.plot([1, 2, 3, 4, 5])
# fig, ax1, ax2, ax3, ax4 = plt.subplots(2, 2, figsize=(10, 5))
# ax1.plot(y1)  # ax[0, 0]
# ax2.bar(x, y1)  # ax[0, 1]
# ax3.plot(y2)  # ax[1, 0]
# ax4.bar(x, y2)  # ax[1, 1]

'''3.共享坐标轴'''
# sharex(或sharey)参数控制是否共享x轴(或y轴)。
# sharex参数支持False或'none'、True或
# 'all'(都共享x轴)、'row'(同行子图共享x轴)、'col'(同列子图共享x轴)中任一取值。
fig, ax_arr = plt.subplots(2, 2, sharex='col')

# 双坐标轴,twinx 加y轴双坐标,twiny 加x轴双坐标
# ax_right = ax.twinx

# 调整子图之间的距离
# plt.tight_layout()


  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:17:53  更:2021-12-15 18:18:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 0:46:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码