4.13Python数据处理篇之Matplotlib系列(十三)---轴的设置

目录

  • 目录
  • 前言
  • (一)设置轴的范围
    • 1.同时对于x,y轴设置
    • 2.分别对与x,y轴的设置
  • (二)设置刻度的大小
    • 1.普通的刻度设置
    • 2.添加文本的刻度设置
    • 3.主副刻度的设置
  • (三)设置轴的数据
    • 1.说明:
    • 2.源代码
    • 3.输出效果:
  • (四)设置axes脊柱
    • 1.属性列表
    • 2.实例1-修改默认的坐标样式
    • 3.实例2-带箭头的坐标系

目录

前言

本章节讲的是关于轴的设置,尽可能举例多种情况。

(一)设置轴的范围

1.同时对于x,y轴设置

(1)语法说明

plt.axis([xmin, xmax, ymin, ymax])

(2)源代码

# 导入模块
import matplotlib.pyplot as plt
import numpy as np

# 数据
x = np.linspace(-10, 10, 100)
y = x**2

# 绘图
plt.plot(x, y)

# 设置轴的范围
plt.axis([-6, 7, -1, 30])

# 展示
plt.show()

(3)输出效果

2.分别对与x,y轴的设置

(1)语法说明

  1. 对于x轴:plt.xlim(start, end)
  2. 对于y轴:plt.ylim(start, end)

如果是使用ax对象设置范围的话,则可在前加set_命令

ax.set_xlim(start, end), ax.set_ylim(start, end), 其他的命令类似如此。

(2)源代码

# 导入模块
import matplotlib.pyplot as plt
import numpy as np

# 数据
x = np.linspace(-10, 10, 100)
y = x**2

# 绘图
plt.plot(x, y)

# 设置轴的范围
plt.xlim(-3, 8)
plt.ylim(-2, 50)

# 展示
plt.show()

(3)输出效果

(二)设置刻度的大小

1.普通的刻度设置

(1)说明

x轴的刻度:plt.xticks(item)
y轴的刻度:plt.yticks(item)

(2)源代码

# 导入模块
import matplotlib.pyplot as plt
import numpy as np

# 数据
x = np.linspace(-10, 10, 100)
y = x**2

# 绘图
plt.plot(x, y)

# 设置轴的刻度
plt.xticks(range(-8, 8, 2))
plt.yticks([0, -3, -6, 7, 15, 20, 37, 48, 72])

# 展示
plt.show()

(3)输出效果

2.添加文本的刻度设置

(1)说明

其实就是在设置刻度的基础上,在添加一个列表,来显示刻度。

如:plt.xticks([‘数据‘], ["标签"])

(2)源代码

# 导入模块
import matplotlib.pyplot as plt
import numpy as np

# 数据
x = np.linspace(-10, 10, 100)
y = x**2

# 绘图
plt.plot(x, y)

# 设置轴的刻度
plt.xticks(range(-8, 8, 2))
plt.yticks([0, 40, 60], ["bad", 'good', "best"])

# 展示
plt.show()

(3)输出效果

3.主副刻度的设置

(1)说明

  1. 需要导入:from matplotlib.ticker import MultipleLocator, FormatStrFormatter 模块
  2. 主刻度:(y轴同理)
    1. 倍数:ax.xaxis.set_major_locator(MultipleLocator(倍数))
    2. 文本格式:ax.xaxis.set_major_formatter(FormatStrFormatter(‘%占位数.小数点数f‘))
  3. 副刻度:(将"major"改为"minor"即可)
    1. 倍数:ax.xaxis.set_minor_locator(MultipleLocator(倍数))
    2. 文本格式:ax.xaxis.set_minor_formatter(FormatStrFormatter(‘%占位数.小数点数f‘))

(2)源代码

# 导入模块
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
import numpy as np

# 数据
x = np.linspace(-30, 30, 100)
y = x**2

# 绘图
plt.plot(x, y)

ax = plt.gca()
# 设置轴的主刻度
# x轴
ax.xaxis.set_major_locator(MultipleLocator(20))  # 设置20倍数
ax.xaxis.set_major_formatter(FormatStrFormatter('%5.1f'))  # 设置文本格式

# y轴
ax.yaxis.set_major_locator(MultipleLocator(100))  # 设置100倍数
ax.yaxis.set_major_formatter(FormatStrFormatter('%1.2f'))  # 设置文本格式

# 设置轴的副刻度
# x轴
ax.xaxis.set_minor_locator(MultipleLocator(5))  # 设置10倍数
# ax.xaxis.set_minor_formatter(FormatStrFormatter('%2.1f'))  # 设置文本格式

# y轴
ax.yaxis.set_minor_locator(MultipleLocator(50))  # 设置50倍数
# ax.yaxis.set_minor_formatter(FormatStrFormatter('%1.0f'))  # 设置文本格式

# 设置网格
ax.xaxis.grid(True, which='major')  # x坐标轴的网格使用主刻度
ax.yaxis.grid(True, which='minor')  # y坐标轴的网格使用次刻度

# 展示
plt.show()

(3)输出效果

(三)设置轴的数据

1.说明:

以x轴的数为日期,再以plt.gcf().autofmt_xdate()来旋转显示日期数据。

2.源代码

# 导入模块
import matplotlib.pyplot as plt
import numpy as np

# 数据
N = 4
y = np.random.randint(-20, 20, (1, N)).flatten()

x = ["2019-3-13", "2019-3-14", "2019-3-15", "2019-3-16"]

# 绘图
plt.plot(x, y)

# 旋转日期显示
plt.gcf().autofmt_xdate()

# 展示
plt.show()

3.输出效果:

(四)设置axes脊柱

1.属性列表

ax.spines[‘ ‘].xxx 说明 默认值
set_visible(bool) 边框的可见性 True
ax.xaxis.set_ticks_position({"top","left"……}) 刻度的显示位置 外面(不是ax.spines[‘ ‘].)
set_position({"top","left"……}) 边框的位置 左下角为交点
set_color(string) 边框的颜色 “black"(当值为None也是隐藏)
set_linewidth(int) 边框的宽度 1
set_linestyle(string) 边框的线性 ”-“

2.实例1-修改默认的坐标样式

(1).说明:

设置反方向(y轴同理):
x轴反向:ax.invert_xaxis()

(2).源代码:

# 导入模块
import matplotlib.pyplot as plt
import numpy as np

# 数据
x = np.linspace(-10, 10, 100)
y = x**2

# 绘图
plt.plot(x, y)

ax = plt.gca()
# ===设置脊(边框)===
# 1.隐藏上与右的边框
ax.spines['top'].set_visible(False)
ax.spines['right'].set_color(None)

# 2.设置颜色
ax.spines['left'].set_color('b')
ax.spines['bottom'].set_color('r')

# 3.设置线宽
ax.spines['left'].set_linewidth(5)
ax.spines['bottom'].set_linewidth(3)

# 4.设置线形
ax.spines['left'].set_linestyle('--')
ax.spines['left'].set_linestyle('-.')

# 5.设置交点位置(0, 35)
ax.spines['left'].set_position(('data', 0))
ax.spines['bottom'].set_position(('data', 35))

# 6.设置数据显示的位置
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('right')

# 7.设置反方向(y轴同理)
ax.invert_xaxis()  # x轴反向

# 展示
plt.show()

(3).输出效果:

3.实例2-带箭头的坐标系

(1)说明:

需要导入:import mpl_toolkits.axisartist as axisartist

大致步骤如下:

  1. 隐藏原有的边框坐标系
  2. 创建新的坐标系
  3. 添加箭头

注意:再创建新的坐标系时ax.new_floating_axis(0, 0)

  1. 第一个参数:0表示横线,1表示竖线
  2. 第二格参数:表示经过那个坐标点。

(2)源代码:

# 导入模块
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist

import numpy as np

# 数据
x = np.linspace(-10, 10, 100)
y = x**2

# 创建画布
fig = plt.figure(figsize=(4, 6))
ax = axisartist.Subplot(fig, 111)
# 将绘图区对象添加到画布中
fig.add_axes(ax)

# ===带箭头坐标系的设置===
# 1.隐藏原有的边框坐标系
ax.axis[:].set_visible(False)

# 2.创建新的坐标系
ax.axis["x"] = ax.new_floating_axis(0, 0)
ax.axis["y"] = ax.new_floating_axis(1, 0)

# 3.添加箭头
ax.axis["x"].set_axisline_style("->", size=2.0)
ax.axis["y"].set_axisline_style("->", size=1.0)

# 绘图
ax.plot(x, y)

# 展示
plt.show()

(3)输出效果:

作者:Mark

日期:2019/03/13 周三

原文地址:https://www.cnblogs.com/zyg123/p/10522102.html

时间: 2024-10-03 09:59:01

4.13Python数据处理篇之Matplotlib系列(十三)---轴的设置的相关文章

4.1Python数据处理篇之Matplotlib系列(一)---初识Matplotlib

目录 目录 前言 (一)matplotlib的介绍 (二)画一个简单的画布 ==1.源代码== ==2.展示效果== (三)画布按键的功能介绍 ==1.对于画布功能键的排序== ==(1)主页== ==(2)上一个视图== ==(3)下一个视图== ==(4)移动查看== ==(5)放大查看== ==(6)窗体设置== ==(7)保存图片== 目录 前言 对于数据可视化的python库,对于Matplotlib早有耳闻,今天就来正式学习一下. (一)matplotlib的介绍 matplotli

4.8Python数据处理篇之Matplotlib系列(八)---Figure的学习

目录 目录 前言 (一)figure()方法的定义 (二)figure()方法的参数 (三)figure()方法的例子 1.多窗体绘图: 2.窗口得分别率 目录 前言 今天我们来学习一下plt.figure()方法 (一)figure()方法的定义 官网介绍: https://matplotlib.org/api/_as_gen/matplotlib.pyplot.figure.html?highlight=pyplot%20figure#matplotlib.pyplot.figure 原函数

4.11Python数据处理篇之Matplotlib系列(十一)---图例,网格,背景的设置

目录 目录 前言 (一)图例legend 1.默认不带参数的图例 2.添加参数的图例 3.将图例移动到框外 (二)网格grid 1.说明 2.源代码: 3.输出效果 (三)背景axses 1.设置全局的背景色: 2.设置局部的背景色 目录 前言 本章节将讲一下三个内容,图例,网格,背景 (一)图例legend 1.默认不带参数的图例 (1)说明: 默认情况下,是自适应的放在图例的位置,需要在绘图的时候,添加Label标识. 在使用plt.legend()显示图例 (2)源代码: # 导入模块 i

5.5Python数据处理篇之Sympy系列(五)---解方程

目录 目录 前言 (一)求解多元一次方程-solve() 1.说明: 2.源代码: 3.输出: (二)解线性方程组-linsolve() 1.说明: 2.源代码: 3.输出: (三)解非线性方程组-nonlinsolve() 1.说明: 2.源代码: 3.输出: (四)求解微分方程-dsolve() 1.说明: 2.源代码: 3.输出: 目录 前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 https://docs.sympy.o

我给女朋友讲编程CSS系列(3) CSS如何设置字体的类型、大小、颜色,如何使用火狐浏览器的Firebug插件查看网页的字体

一.CSS如何设置字体的类型.大小.颜色 设计网页时,一般设置body的字体,让其他标签继承body的字体,这样设置特别方便,但是标题标签h1到h6和表单标签(input类型)是没有继承body的字体属性的,它们的字体需要单独设置. 1,  新建一个网页a.html,把下面的代码复制进去. <html> <head> <style type="text/css"> body { font-family : 微软雅黑,宋体; font-size : 1

Fitnesse测试系列--如何设置SetUp文件

又被抽去做了一段时间的Fitnesse用例的编写,现在case写了几个星期,有点收获,最近会一起整理出来. SetUp 这个页面主要被我用来做环境变量的设置了. 环境变量的设置: !note 这一部分用来在写测试步骤里包含,来定义用户场景.!note 比如!note 1,用户一($USERNAME_A)注册帐户,密码为(${PASSWORD_A}) !以下是代码!define topic_name {kindle}!define USERNAME_A {tester001}!define PAS

iOS开发UI篇—ios应用数据存储方式(偏好设置)

iOS开发UI篇—ios应用数据存储方式(偏好设置) 一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏好设置.比如,保存用户名.字体大小.是否自动登录 存储位置: 存储形式: 二.代码示例 1.storyboard 2.代码 1 // Created by 鑫 on 14-10-24. 2 // Copyright (c) 2014年 梁镋鑫.

matplotlib删除x轴

组内有个同事,有个奇怪的需求需要matplotlib删除x轴 效果图如下: 关键代码: from matplotlib import pyplot as plt plt.plot(range(10)) plt.tick_params( axis='x', # changes apply to the x-axis which='both', # both major and minor ticks are affected bottom='off', # ticks along the bott

ArcGIS10中matplotlib画图时的中文设置

利用GIS的数据批量生成XY的图形图像文件,可以直接使用Python.一般大家都是用matplotlib,中文设置的问题参看了许多内容,结论是对错不一,让我折腾了三天,现总结如下: 1.软件的版本.安装测试的为numpy-1.6.1和matplotlib-1.1.0,WindowsXP系统.我原来系统安装的numpy-1.6和matplotlib-1.1.0有冲突. 2.修改matplotlibrc文件.ArcGIS10下安装后,该文件在C:\Python26\ArcGIS10.0\Lib\si