python matplotlib坐标轴设置的方法

yipeiwu_com7年前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设计】。

相关文章

pip安装时ReadTimeoutError的解决方法

2018.1.22解决办法 一般情况下PIP出现ReadTimeoutError都是因为被GFW给墙了,所以一般遇到这种问题,我们可以选择国内的镜像来解决问题。 在Windows下: C...

pycharm创建scrapy项目教程及遇到的坑解析

pycharm创建scrapy项目教程及遇到的坑解析

前言 最近学习scrapy爬虫框架,在使用pycharm安装scrapy类库及创建scrapy项目时花费了好长的时间,遇到各种坑,根据网上的各种教程,花费了一晚上的时间,终于成功,其中也...

python 字典(dict)遍历的四种方法性能测试报告

python中,遍历dict的方法有四种。但这四种遍历的性能如何呢?我做了如下的测试 l = [(x,x) for x in xrange(10000)] d = dict(l)...

使用Python3内置文档高效学习以及官方中文文档

概述 从前面的对Python基础知识方法介绍中,我们几乎是围绕Python内置方法进行探索实践,比如字符串、列表、字典等数据结构的内置方法,和大量内置的标准库,诸如functools、...

python通过socket实现多个连接并实现ssh功能详解

python通过socket实现多个连接并实现ssh功能详解

一、前言   上一篇中我们已经知道了客户端通过socket来连接服务端,进行了一次数据传输,那如何实现客户端多次发生数据?而服务端接受多个客户端呢? 二、发送中文信息   在python...