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可视化——plt.plot()&&plt.subplots() -> 正文阅读

[人工智能]python可视化——plt.plot()&&plt.subplots()

0 写在前面

  • 之前在base环境下画图,结果画不出,返回异常值如下:
    - 使用matplotlib.pyplot报错exit code -1073741819 (0xC0000005)
使用matplotlib.pyplot报错exit code -1073741819 (0xC0000005)
  • 换了一个虚拟环境env就跑起来了,所以原因竟然是
    anaconda环境混乱,包和包之间互相影响!

1 plt.plot() 函数

  1. 函数声明
	plt.plot(x, y, format_string, **kwargs)
  1. 参数介绍
x:X轴数据,列表或者数组(可选)
y:Y轴数据,列表或者数组
format_string:控制曲线的格式字符串(可选)
**kwargs:第二组或者更多(x,y,format_string), 可画多条曲线
  1. format_string介绍
>>>颜色:
'b' 蓝色
'c' 青绿
'g' 绿色
'k' 黑色
'm' 洋红
'w' 白色
'y' 黄色
'r' 红色
>>>风格字符
'-' 实线
'--' 虚线
':'  点线
'-.' 点横线(我也不知怎么描述这个)
'o' 实心圆
  1. 代码1如下:
import matplotlib.pyplot as plt
import numpy as np

X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)

x = [1,2,3]
y = [1,4,9]
plt.plot(X, Y, "r--")  # 红色虚线
plt.show()
  • 输出1如下:
    在这里插入图片描述
  1. 代码2如下:
import matplotlib.pyplot as plt
import numpy as np

X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)

x = [1,2,3]
y = [1,4,9]
plt.plot(X, Y, "ro")
plt.show()
  • 输出2 如下:
    在这里插入图片描述

1.1 分开写参数

import matplotlib.pyplot as plt
import numpy as np

X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)

x = [1,2,3]
y = [1,4,9]
plt.plot(X, Y, color='lime', linestyle='-', linewidth=2)
plt.show()

在这里插入图片描述

1.2 marker的参数设置

marker='v'
marker='o'
marker='^'

中心的颜色:
markerfacecolor='black'

边缘的颜色:
markeredgecolor='red'

1.3 设置标题、x和y轴的字体等

ax1 = plt.gca()
ax1.set_title('Big Title', fontname='Arial', fontsize=20, weight='bold')
ax1.set_xlabel('time(UTC)')
ax1.set_ylabel('T (C)')

1.4 设置刻度

  • 可以根据需要标出刻度,还可以用字母代替

import matplotlib.pyplot as plt
import numpy as np

X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)

x = [1,2,3]
y = [1,4,9]
plt.plot(X, Y, color='lime', linestyle='-', linewidth=2, \
         marker='^', markerfacecolor='black', markeredgecolor='red',\
         markersize=4, markeredgewidth=1)

ax1 = plt.gca()
ax1.set_title('Big Title', fontname='Arial', fontsize=20, weight='bold')
ax1.set_xlabel('time(UTC)')
ax1.set_ylabel('T (C)')

# 设置有几个刻度
ax1.set_xticks([0, 2.5, 7, 11])
# 设置每个刻度的显示
ax1.set_xticklabels(['J', 'A', 'W', 'E'])

plt.show()


在这里插入图片描述

1.5 设置刻度朝向

  • 由向外改为向内

import matplotlib.pyplot as plt
import numpy as np

X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)

x = [1,2,3]
y = [1,4,9]
plt.plot(X, Y, color='lime', linestyle='-', linewidth=2, \
         marker='^', markerfacecolor='black', markeredgecolor='red',\
         markersize=4, markeredgewidth=1)

ax1 = plt.gca()
ax1.set_title('Big Title', fontname='Arial', fontsize=20, weight='bold')
ax1.set_xlabel('time(UTC)')
ax1.set_ylabel('T (C)')

# 设置有几个刻度
ax1.set_xticks([0, 2.5, 7, 11])
# 设置每个刻度的显示
ax1.set_xticklabels(['J', 'A', 'W', 'E'])
ax1.tick_params(axis='both', direction='in', color='blue')



plt.show()


在这里插入图片描述

1.6 刻度的长度、宽度

ax1.tick_params(axis='both', direction='in', color='blue',\
                length=10, width=2)

1.7 画多个plt的时候,添加图例

  • 在每一个plot括号内增加label
  • 然后添加plt.legend(loc='best')

import matplotlib.pyplot as plt
import numpy as np

X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)

x = [1,2,3]
y = [1,4,9]
plt.plot(X, Y, color='lime', linestyle='-', linewidth=2, \
         marker='^', markerfacecolor='black', markeredgecolor='red',\
         markersize=4, markeredgewidth=1, label="zhang")

ax1 = plt.gca()
ax1.set_title('Big Title', fontname='Arial', fontsize=20, weight='bold')
ax1.set_xlabel('time(UTC)')
ax1.set_ylabel('T (C)')

# 设置有几个刻度
ax1.set_xticks([0, 2.5, 7, 11])
# 设置每个刻度的显示
ax1.set_xticklabels(['J', 'A', 'W', 'E'])
ax1.tick_params(axis='both', direction='in', color='blue',\
                length=10, width=2)

plt.plot(X+2, Y, label="chen")
plt.legend(loc='best')
plt.show()

在这里插入图片描述

1.8 设置多图层的图层顺序

zorder设置【从1开始】

在这里插入图片描述

1.9 指数坐标轴

X2 = np.arange(1, 100, 1)
Y2 = np.exp(X2)
plt.plot(X2, Y2)
ax = plt.gca()
ax.set_yscale('log')

在这里插入图片描述

2 plt.subplots()画多个子图

import matplotlib.pyplot as plt
import numpy as np

X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)
fig, ax = plt.subplots(2, 1)  # 两行一列
ax[0].plot(X,Y)
ax[1].plot(X+2, Y,'r')

ax[0].set_xlim([0, 10])  # 使刻度保持一致
ax[1].set_xlim([0, 10])  # 使刻度保持一致

plt.show()

在这里插入图片描述

3 保存到png图片

  • 一定是先保存图片,然后再show()
plt.savefig('./Big.png')
plt.show()
  • 完整代码如下:

import matplotlib.pyplot as plt
import numpy as np

X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)


plt.plot(X, Y, color='lime', linestyle='-', linewidth=2, \
         marker='^', markerfacecolor='black', markeredgecolor='red',\
         markersize=4, markeredgewidth=1, label="zhang", zorder=2)

ax1 = plt.gca()
ax1.set_title('Big Title', fontname='Arial', fontsize=20, weight='bold')
ax1.set_xlabel('time(UTC)')
ax1.set_ylabel('T (C)')

# 设置有几个刻度
ax1.set_xticks([0, 2.5, 7, 11])
# 设置每个刻度的显示
ax1.set_xticklabels(['J', 'A', 'W', 'E'])
ax1.tick_params(axis='both', direction='in', color='blue',\
                length=10, width=2)

plt.plot(X+2, Y, label="chen", zorder=1)
plt.legend(loc='best')
plt.savefig('./Big.png')
plt.show()

3.1 保存的图片不完整

  • 设置画布的大小
fig = plt.figure(figsize=(8, 4))

3.2 紧致布局

  • 保证所有的内容都在画布中输出
plt.tight_layout()

3.3 设置分辨率

  • dpi=300
plt.savefig('./Big.png', dpi=300)
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:22:35  更:2022-04-09 18:25:01 
 
开发: 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/26 10:21:06-

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