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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 在Python3里使用matplotlib绘折线图和散点图 -> 正文阅读

[人工智能]在Python3里使用matplotlib绘折线图和散点图

网上关于Python使用matplotlib包进行绘图的文章不少,自己写一遍掌握得才更好。matplotlib是用于创建二维图表和图形的库,它不在标准python库之中,需要单独安装。

安装

在windows的控制台里输入:

pip install matplotlib

执行import matplotlib,如果没有错误提示,则表示安装成功。

折线图

先画一个最简单的折线图。

import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares)
plt.show()

在这里插入图片描述

为了便于将来更灵活地摆放多个图,推荐下面这种写法:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

squares = [1, 4, 9, 16, 25]
ax.plot(squares)
fig.show()

保存为图片或PDF

fig.savefig(“test-figure.png”, dpi=300)
fig.savefig(“test-figure.pdf”)

分别定义x和y

前面的例子实际上省略了x列表,如果x和y都写上,是这样:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x=[0, 1, 2, 3, 4]
y=[0, 3, 1, 5, 2]
ax.plot(x, y)
fig.show()

在这里插入图片描述

加上标题、坐标轴标签和网格线

set_title()设置图名。
set_xlabel()和set_ylabel()设置X轴和Y轴的名称。
grid()加网格线。

关于中文显示的问题
https://www.jb51.net/article/134546.htm

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x=[0, 1, 2, 3, 4]
y=[0, 3, 1, 5, 2]
ax.plot(x, y)

ax.set_title('折线图', fontproperties="SimHei")
ax.set_xlabel('X轴', fontproperties="SimSun")
ax.set_ylabel('Y轴', fontproperties="SimSun")
ax.grid(True)


fig.show()

在这里插入图片描述

自定义X轴和Y轴的范围

用set_xlim()和 set_ylim()定义轴的最小刻度和最大刻度值。

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x=[0, 1, 2, 3, 4]
y=[0, 3, 1, 5, 2]
ax.plot(x, y)

ax.set_title('折线图', fontproperties="SimHei")
ax.set_xlabel('X轴', fontproperties="SimSun")
ax.set_ylabel('Y轴', fontproperties="SimSun")
ax.grid(True)

ax.set_xlim(xmin=-1, xmax=10)
ax.set_ylim(ymin=-1, ymax=6)

fig.show()

在这里插入图片描述

在数据点上显示标记

plot(x, y, marker=‘o’) 显示圆点标记
在这里插入图片描述

还有很多种标记:

  • ‘o’ 圆圈 Circle
  • ‘s’ 方块标记 Square
  • ‘*’ 星形标记 Star
  • ‘x’或’X’ 叉
  • ‘d’或’D’ 钻石形状标记(菱形) Diamond
  • '+‘或’P’ 十字 Plus
  • ‘^’ 向上三角
  • ‘v’ 下三角
  • ‘>’ 左三角
  • ‘<’ 右三角
  • ‘p’ 五边形 Pentagon
  • ‘h’ 或 ‘H’ 六边形 Hexagon
  • ‘|’ 竖线
  • ‘_’ 横线

在这里插入图片描述

设置标记的大小,连线的线型、颜色等

plt.plot(x, y, marker=‘o’, markersize=16, linestyle=‘dotted’, color=‘r’)
在这里插入图片描述

线型:
‘-’ 实线 solid
‘:’ 点虚线 dotted
‘–’ 虚线 dashed
‘-.’ 点划线 dashdot

颜色:
可以用一个字母表示的颜色。
在这里插入图片描述
还可以这样表示颜色:
(1)一个字母
(2)颜色名称
(3)C0 到 C9
(4)RGB元组,RGBA元组
(5)16进制的0-255的RGB分量,‘#RRGGBB’或‘#RRGGBBAA’
(6)'0.0’到’1.0’的小数
在这里插入图片描述

散点图

plot(x, y, ‘s’) 可以直接画出散点图。
注意与前面折线图的区别:
plot(x, y, marker=‘s’)

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x=[0, 1, 2, 3, 4]
y=[0, 3, 1, 5, 2]
ax.plot(x, y, 's')
fig.show()

在这里插入图片描述

更直观的写法是用scatter()

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x=[0, 1, 2, 3, 4]
y=[0, 3, 1, 5, 2]
ax.scatter(x, y, marker='s')
fig.show()

改变字体大小

使用fontsize参数。

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x=[0, 1, 2, 3, 4]
y=[0, 3, 1, 5, 2]
ax.scatter(x, y, marker='s')

ax.set_title('折线图', fontproperties="SimHei", fontsize=24)
ax.set_xlabel('X轴', fontproperties="SimSun", fontsize=16)
ax.set_ylabel('Y轴', fontproperties="SimSun", fontsize=16)
ax.grid(True)

fig.show()

在这里插入图片描述

使用内置样式

有许多内置样式可用。

>>> import matplotlib.pyplot as plt
>>> plt.style.available
['Solarize_Light2', '_classic_test_patch', '_mpl-gallery',
'_mpl-gallery-nogrid', 'bmh', 'classic', 'dark_background',
'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn',
'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark',
'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep',
'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel',
'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white',
'seaborn-whitegrid', 'tableau-colorblind10']

换一种样式:
plt.style.use()

import matplotlib.pyplot as plt

plt.style.use('bmh')

fig, ax = plt.subplots()

x=[0, 1, 2, 3, 4]
y=[0, 3, 1, 5, 2]

ax.scatter(x, y, marker='s')

ax.set_title('折线图', fontproperties="SimHei", fontsize=24)
ax.set_xlabel('X轴', fontproperties="SimSun", fontsize=16)
ax.set_ylabel('Y轴', fontproperties="SimSun", fontsize=16)
ax.grid(True)

fig.show()

在这里插入图片描述

每个散点可以设置不同的大小和颜色。

import matplotlib.pyplot as plt

plt.style.use('bmh')

fig, ax = plt.subplots()

x=[0, 1, 2, 3, 4]
y=[0, 3, 1, 5, 2]

colors = [1, 2, 3, 1, 1]
size = [100 * c * c for c in colors]
ax.scatter(x, y, s=size, c=colors, alpha=0.5)

fig.show()

在这里插入图片描述

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

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/8 3:58:46-

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