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绘图 -> 正文阅读

[Python知识库]matplotlib绘图

图标英文显示设置:

正常以字符串形式传进去字串,英文显示格式不是很美观,为了让文字更美观点,在书写时以这种格式写:

  • r'$string$'
  • 在这里,如果需要特殊数学字符使用 \ 转义,空格也需要转义
  • 比如:r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$'

一、figure窗口及坐标轴设置

plt.figure(figsize = (20, 8), dpi = 80)窗口,用于展示图片

1、figure图形的意思,这里指我们画的图,

2、通过实例化一个figure并且传递参数,能够在后台自动使用该figure实例;

3、在图像模糊的时候可以传入dpi参数,让图片更加清晰

4、figsize:指定图片的大小

5、linewidth:指定显示的线的宽度

6、linestyle:指定线条显示的风格,如:虚线 linestyle="--"

ax = plt.gca()获取当前图形的坐标轴

gca == "get current axis" 获取坐标轴

ax.spines['right'].set_color('none')图形的边框

spines通过在[]设置left\right\bottom\top来对4个边框进行格式设置

set_color是设置颜色

ax.xaxis.set_ticks_position('bottom')设置用哪个刻度做轴使用bottom当作x轴
ax.spines['bottom'].set_position(('data', 0))设置坐标轴的位置设置x轴的位置是放在y轴的0刻度处
import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-3, 3, 50)
y1 = x*2+1
y2 = x**2

#创建一个窗口
plt.figure()
#同一窗口放置多张图片
l1, = plt.plot(x, y1, label='up')
l2, = plt.plot(x, y2, color="red", linewidth=2.0, linestyle="--", label='down')
#设置显示图例
plt.legend(handles=[l1, l2], labels=['aaa', 'bbb'], loc='best')

#设置坐标轴的取值范围
plt.xlim((-1,2))
plt.ylim((-2,3))

#设置坐标轴的提示信息
plt.xlabel("I am x")
plt.ylabel("I am y")

#生成新的坐标点
new_ticks = np.linspace(-1, 2, 5) #将-1~2分为5份
#设置显示出来的坐标单位
plt.xticks(new_ticks)
#人为指定坐标轴显示的内容
#设置刻度上显示的内容,但需要人为指定对应顺序
plt.yticks([-2, -1.8, -1, 1.22, 3,], [r'$really\ bad$', r'$bad$', r'$normal$',
                            r'$good$', r'$really\ good$'])

# gca == "get current axis" 获取坐标轴
ax = plt.gca()
#图形的边框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

#改变坐标轴的位置
#设置用哪个刻度做轴
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#横坐标设置为y轴的0
ax.spines['bottom'].set_position(('data', 0)) #outward, axes
ax.spines['left'].set_position(('data', 0))
plt.show()

?二、为特殊点加注解(Annotation)

使用text()会将文本放置在轴域的任意位置。 文本的一个常见用例是标注绘图的某些特征,而annotate()方法提供辅助函数,使标注变得容易。 annotate用于在图形上给数据添加文本注解,而且支持带箭头的划线工具,方便我们在合适的位置添加描述信息。在标注中,有两个要考虑的点:由参数xy表示的标注位置和xytext的文本位置。 这两个参数都是(x, y)元组。

参数说明:

Axes.annotate(s,?xy,?*args,?**kwargs)

  • s:注释文本的内容
  • xy:被注释的坐标点,二维元组形如(x,y)
  • xytext:注释文本的坐标点,也是二维元组,默认与xy相同
  • xycoords:被注释点的坐标系属性,允许输入的值如下
属性值含义
'figure points'以绘图区左下角为参考,单位是点数
'figure pixels'以绘图区左下角为参考,单位是像素数
'figure fraction'以绘图区左下角为参考,单位是百分比
'axes points'以子绘图区左下角为参考,单位是点数(一个figure可以有多个axex,默认为1个)
'axes pixels'以子绘图区左下角为参考,单位是像素数
'axes fraction'以子绘图区左下角为参考,单位是百分比
'data'以被注释的坐标点xy为参考 (默认值)
'polar'不使用本地数据坐标系,使用极坐标系
  • textcoords?:注释文本的坐标系属性,默认与xycoords属性值相同,也可设为不同的值。除了允许输入xycoords的属性值,还允许输入以下两种:
属性值含义
'offset points'相对于被注释点xy的偏移量(单位是点)
'offset pixels'相对于被注释点xy的偏移量(单位是像素)

arrowprops:箭头的样式,dict(字典)型数据,如果该属性非空,则会在注释文本和被注释点之间画一个箭头。如果不设置'arrowstyle'?关键字,则允许包含以下关键字:

关键字说明
width箭头的宽度(单位是点)
headwidth箭头头部的宽度(点)
headlength箭头头部的长度(点)
shrink箭头两端收缩的百分比(占总长)
?任何?matplotlib.patches.FancyArrowPatch中的关键字
import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-3, 3, 50)
y1 = x*2+1
plt.figure()
plt.plot(x, y1, label='up')

#添加注释
x0 = 1
y0 = 2*x0 + 1
#使用散点方式,只显示一个点, blue
plt.scatter(x0, y0, s=50, color='b')
#k--表示 black的 --
plt.plot([x0, x0], [0, y0], 'k--', lw=2.5)

ax = plt.gca()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))

#设置标注
#method 1
plt.annotate(r'$2x+1=%s$' % str(y0), xy=(x0, y0),
             xycoords='data', xytext=(+30, -30), textcoords='offset points',
             fontsize=16, arrowprops=dict(arrowstyle='->', connectionstyle='arc3, rad=.2'))
plt.text(-3.7, 3, r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$',
            fontdict={'size':16, 'color': 'r'})

plt.show()

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:28:47  更:2021-10-11 17:29: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/15 18:44:23-

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