python matplotlib坐标轴设置的方法

yipeiwu_com5年前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 selenium 执行完毕关闭chromedriver进程示例

因为使用多次以后发现进程中出现了很多chromedriver的残留,造成卡顿,所以决定优化一下。 这个问题困扰了楼主很久,百度谷歌查来查去都只有java,后面根据java和seleniu...

selenium+python 对输入框的输入处理方法

最近自己在做项目的自动化测试(公司无此要求),在用户管理模块做修改用户信息时,脚本已经跑成功,并且的确做了update操作,但是自己登陆页面检查,信息却没有被修改,再次确定系统该模块的编...

Django如何实现上传图片功能

Django如何实现上传图片功能

前言 很多时候我们要用到图片上传功能,如果图片一直用放在别的网站上,通过加载网址的方式来显示的话其实也挺麻烦的,我们通过使用 django-filer 这个模块实现将图片文件直接放在自己...

Python 中 list 的各项操作技巧

最近在学习 python 语言。大致学习了 python 的基础语法。觉得 python 在数据处理中的地位和它的 list 操作密不可分。 特学习了相关的基础操作并在这里做下笔记。...

解决django-xadmin列表页filter关联对象搜索问题

环境:xadmin-for-python3 python3.5.2 django1.9.12 问题描述:Product ProductSku两个实体,ProductSku FK外键关联P...