python matplotlib坐标轴设置的方法

yipeiwu_com6年前Python基础

在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围、坐标轴刻度大小、坐标轴名称等

在matplotlib中包含了很多函数,用来对这些参数进行设置。

我们可以对坐标轴进行设置,设置坐标轴的范围,设置坐标轴上的文字描述等。

基本用法

例如:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 生成x轴上的数据:从-3到3,总共有50个点
x = np.linspace(-1, 1, 50)
# 定义一个线性方程
y1 = 2 * x + 1
# 定义一个二次方程
y2 = x ** 2
# 设置x轴的取值范围为:-1到2
plt.xlim(-1, 2)
# 设置y轴的取值范围为:-1到3
plt.ylim(-1, 3)
# 设置x轴的文本,用于描述x轴代表的是什么
plt.xlabel("I am x")
# 设置y轴的文本,用于描述y轴代表的是什么
plt.ylabel("I am y")
plt.plot(x, y2)
# 绘制红色的线宽为1虚线的线条
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
# 显示图表
plt.show()

输出图为:

 

修改坐标轴的刻度

想要修改x轴的刻度,从-1到2,总共5点:

new_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_ticks)

只要把上述代码放在画图之前,最后画出来的图为:

这样x轴上的刻度就被修改成了从-1到2共5个点。

把刻度用文字来表示

# 设置y刻度:用文字来显示刻度
plt.yticks([-2, -1.8, -1, 1.22, 3],
  ['really bad', 'bad', 'normal', 'good', 'really good'])

上面代码的意思就是把y刻度中的数值和文字进行了映射:

-2 => 'really bad'

-1.8 => 'bad'

-1 => 'normal'

1.22 => 'good'

3 => 'really good'

显示图为:

 

修改坐标轴刻度字体

为了能够使刻度上的字体显示得好看些,可以使用:

plt.yticks([-2, -1.8, -1, 1.22, 3],
  [r'$really\ bad$', r'$bad\alpha$', 'normal', r'$good$', 'really good'])

上面用正则文本方式来显示字体,同时还用\alpha来转义显示数学中的alpha字母,图像显示如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈Python 的枚举 Enum

枚举是常用的功能,看看Python的枚举. from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'A...

numpy.where() 用法详解

numpy.where() 用法详解

numpy.where (condition[, x, y]) numpy.where() 有两种用法: 1. np.where(condition, x, y) 满足条件(condit...

解决Django数据库makemigrations有变化但是migrate时未变动问题

解决Django数据库makemigrations有变化但是migrate时未变动问题

写models.py时缺少了一个 verbose_name,导致数据库出现问题,整了很久,摸索出重新建立数据库的方法: 首先删除每个app中的migrations中的除了init.py的...

用python制作游戏外挂

玩过电脑游戏的同学对于外挂肯定不陌生,但是你在用外挂的时候有没有想过如何做一个外挂呢?(当然用外挂不是那么道义哈,呵呵),那我们就来看一下如何用python来制作一个外挂。。。。 我打开...

python检测IP地址变化并触发事件

IoT PoC项目中需要展示视频采集源进行wifi切换后(表明视频采集源端发生了移动),接收端观看到的视频的流畅度,以及当接收端进行移动时,检测视频的流畅度,故需要一个模块周期性地探测本...