matplotlib画图之修改坐标轴刻度问题

目录
  • 一、未设置横纵坐标轴刻度(默认情况下)
    • 示例代码1
  • 二、修改坐标轴刻度
    • 示例代码2
  • 三、给对应的横坐标刻度加上标签文本
    • 示例代码3

一、未设置横纵坐标轴刻度(默认情况下)

示例代码1

# 修改x轴与y轴的刻度
import matplotlib.pyplot as plt
lst1 = list(range(0,15))
lst2 = list(range(15,30))
plt.plot(lst1,lst2)
plt.show()

结果如下:

此时上图中的坐标轴刻度间距为2

二、修改坐标轴刻度

通过添加以下代码对坐标轴刻度进行修改

from pylab import xticks,yticks,np
# 修改横坐标的刻度
xticks(np.linspace(0,15,16,endpoint=True))
# 修改纵坐标的刻度
yticks(np.linspace(15,30,16,endpoint=True))

linspace()中四个参数的意义(本人理解,可能有误!):

  • 第一个参数为坐标的起始位置
  • 第二个参数为坐标的终止位置
  • 第三个参数为将坐标分成多少份(该例中将0-15分成了16份,每刻度为1)
  • 第四个参数为是否取最后一个点(默认是endpoint=False左开右闭)

示例代码2

# 修改x轴与y轴的刻度
import matplotlib.pyplot as plt
from pylab import xticks,yticks,np
lst1 = list(range(0,15))
lst2 = list(range(15,30))
"""
linspace()中四个参数的意义:
第一个参数为坐标的起始位置
第二个参数为坐标的终止位置
第三个参数为将坐标分成多少份(该例中将0-15分成了16份,每刻度为1)
第四个参数为是否取最后一个点(默认是endpoint=False左开右闭)
"""
# 修改横坐标的刻度
xticks(np.linspace(0,15,16,endpoint=True))
# 修改纵坐标的刻度
yticks(np.linspace(15,30,16,endpoint=True))
plt.plot(lst1,lst2)
plt.show()

结果如下:

此时上图中的坐标轴刻度间距为1

三、给对应的横坐标刻度加上标签文本

默认情况下刻度显示的文本就是刻度本身

如果要修改刻度的话,需要在plt.xticks()方法中在再添加一个参数,在示例代码2中添加如下代码

xticks_labels = ['11点{}分'.format(i) for i in range(0,16)]
# 修改横坐标的刻度,并且为横坐标上的每个刻度添加标签
xticks(np.linspace(0,15,16,endpoint=True),xticks_labels)

注意:plt.xticks()和plt.yticks()方法,在传递进去的第一个参数必须是数字,不能是字符串,如果是字符串吗,需要进行替换操作

示例代码3

# 修改x轴与y轴的刻度
import matplotlib.pyplot as plt
from pylab import xticks,yticks,np
lst1 = list(range(0,15))
lst2 = list(range(15,30))
"""
linspace()中四个参数的意义:
第一个参数为坐标的起始位置
第二个参数为坐标的终止位置
第三个参数为将坐标分成多少份(该例中将0-15分成了16份,每刻度为1)
第四个参数为是否取最后一个点(默认是endpoint=False左开右闭)
"""
xticks_labels = ['11点{}分'.format(i) for i in range(0,16)]
# 修改横坐标的刻度
xticks(np.linspace(0,15,16,endpoint=True),xticks_labels)
# 修改纵坐标的刻度
yticks(np.linspace(15,30,16,endpoint=True))
plt.plot(lst1,lst2)
plt.show()

代码运行结果如下:

在示例代码3中添加以下代码解决中文显示问题:

from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体(解决中文无法显示的问题)
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像时负号“-”显示方块的问题

完整代码如下

# 修改x轴与y轴的刻度
import matplotlib.pyplot as plt
from pylab import xticks,yticks,np
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体(解决中文无法显示的问题)
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像时负号“-”显示方块的问题
lst1 = list(range(0,15))
lst2 = list(range(15,30))
"""
linspace()中四个参数的意义:
第一个参数为坐标的起始位置
第二个参数为坐标的终止位置
第三个参数为将坐标分成多少份(该例中将0-15分成了16份,每刻度为1)
第四个参数为是否取最后一个点(默认是endpoint=False左开右闭)
"""
xticks_labels = ['11点{}分'.format(i) for i in range(0,16)]
# 修改横坐标的刻度
xticks(np.linspace(0,15,16,endpoint=True),xticks_labels)
# 修改纵坐标的刻度
yticks(np.linspace(15,30,16,endpoint=True))
plt.plot(lst1,lst2)
plt.show()

代码运行结果如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • matplotlib如何设置坐标轴刻度的个数及标签的方法总结

    第一种方式: 通过pyplot进行设置,通过pyplot下的xticks进行设置,这个api的原型如下: matplotlib.pyplot.xticks(ticks=None, labels=None, **kwargs) ticks:array-like, optional 表示xtick 位置列表,传递一个空列表会删除所有 xticks. labels:array-like, optional 要放置在给定刻度ticks位置的标签.仅当也传递刻度ticks时才能传递此参数. 其他常用的参数

  • matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)

    1.横坐标设置时间格式 import matplotlib.pyplot as plt import matplotlib.dates as mdates # 配置横坐标为日期格式 plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y/%m/%d')) plt.gca().xaxis.set_major_locator(mdates.DayLocator()) 例子: from datetime import datetime

  • Matplotlib自定义坐标轴刻度的实现示例

    虽然 Matplotlib 默认的坐标轴定位器(locator)与格式生成器(formatter)可以满足大部分需求,但是并非对每一幅图都合适.此次我将通过一些示例演示如何将坐标轴刻度调整为你需要的位置与格式. 在介绍示例之前,我们最好先对 Matplotlib 图形的对象层级有更深入的理解.Matplotlib 的目标是用 Python 对象表现任意图形元素.例如,想想前面介绍的 figure 对象,它其实就是一个盛放图形元素的包围盒(bounding box).可以将每个 Matplotli

  • Matplotlib控制坐标轴刻度间距与标签实例代码

    目录 前言 控制刻度间距 控制刻度标签 更简单的设置方式 高级刻度标签控制 总结 前言 我们首先来介绍坐标轴的范围,坐标轴的范围很好理解,有的时候我们产出的数据的范围可能并不是完全我们想要的. 如果我们不对坐标轴的范围进行设置的话,那么matplotlib默认会按照我们数据的范围来自动选择它认为最合适的区间来展示所有的数据. 控制刻度间距 目前为止,我们让Matplotlib自动处理刻度在坐标轴上的位置,但有时我们需要覆盖默认的坐标轴刻度配置,以便更加快速估计图形中点的坐标. import nu

  • Python绘图Matplotlib之坐标轴及刻度总结

    学习https://matplotlib.org/gallery/index.html 记录,描述不一定准确,具体请参考官网 Matplotlib使用总结图 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号 import pandas as pd import nump

  • matplotlib画图之修改坐标轴刻度问题

    目录 一.未设置横纵坐标轴刻度(默认情况下) 示例代码1 二.修改坐标轴刻度 示例代码2 三.给对应的横坐标刻度加上标签文本 示例代码3 一.未设置横纵坐标轴刻度(默认情况下) 示例代码1 # 修改x轴与y轴的刻度 import matplotlib.pyplot as plt lst1 = list(range(0,15)) lst2 = list(range(15,30)) plt.plot(lst1,lst2) plt.show() 结果如下: 此时上图中的坐标轴刻度间距为2 二.修改坐标

  • python matplotlib绘图,修改坐标轴刻度为文字的实例

    工作中偶尔需要做客流分析,用pyplot 库绘图.一般情况下, x 轴刻度默认显示为数字. 例如: 我希望x 轴刻度显示为星期日期. 查询pyplot 文档, 发现了 xtick() 函数可以修改刻度. 代码如下: import matplotlib.pyplot as plt import numpy as np #val_ls = [np.random.randint(100) + i*20 for i in range(7)] scale_ls = range(7) index_ls =

  • 学习python中matplotlib绘图设置坐标轴刻度、文本

    总结matplotlib绘图如何设置坐标轴刻度大小和刻度. 上代码: from pylab import * from matplotlib.ticker import MultipleLocator, FormatStrFormatter xmajorLocator = MultipleLocator(20) #将x主刻度标签设置为20的倍数 xmajorFormatter = FormatStrFormatter('%1.1f') #设置x轴标签文本的格式 xminorLocator = M

  • Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度

    前言 matplotlib.pyplot是一些命令行风格函数的集合,使matplotlib以类似于MATLAB的方式工作.每个pyplot函数对一幅图片(figure)做一些改动:比如创建新图片,在图片创建一个新的作图区域(plotting area),在一个作图区域内画直线,给图添加标签(label)等.matplotlib.pyplot是有状态的,亦即它会保存当前图片和作图区域的状态,新的作图函数会作用在当前图片的状态基础之上. 在开始本文之前,不熟悉的朋友可以先看看这篇文章:Python

  • 修改python plot折线图的坐标轴刻度方法

    修改python plot折线图的坐标轴刻度,这里修改为整数: 代码如下: from matplotlib import pyplot as plt import matplotlib.ticker as ticker import numpy as np def std_plot(): overall_std = [34.369, 21.366, 16.516, 11.151] max_std = [36.769, 21.794, 14.390, 4.684] plt.figure() plt

  • python matplotlib画图时坐标轴重叠显示不全和图片保存时不完整的问题解决

    目录 问题 解决方案 保存时图片不完整的问题 补充:使用matplotlib时如何让坐标轴完整显示所有的标签刻度 总结 问题 在使用matplotlib作图的时候,有的时候会遇到画图时坐标轴重叠,显示不全和图片保存时不完整的问题.如下: 解决方案 画图时重叠或者显示不全的问题 画图时加上参数设置tight_layout=True 画完所有子图后,设置plt.tight_layout() # 加上tight_layout=True 参数设置 fig, axes = plt.subplots(nro

  • Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围

    一.用默认设置绘制折线图 import matplotlib.pyplot as plt x_values=list(range(11)) #x轴的数字是0到10这11个整数 y_values=[x**2 for x in x_values] #y轴的数字是x轴数字的平方 plt.plot(x_values,y_values,c='green') #用plot函数绘制折线图,线条颜色设置为绿色 plt.title('Squares',fontsize=24) #设置图表标题和标题字号 plt.t

  • 解决Linux系统中python matplotlib画图的中文显示问题

    最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些初步的数据挖掘和分析. 在使用matplotlib画图时,横坐标为中文,但是画出的条形图横坐标总是显示"框框",就去查资料解决.感觉这应该是个比较常见的问题,网上的中文资料也确实很多,但是没有任何一个彻底解决了我遇到的问题.零零碎碎用了快3个小时的时间,才终于搞定.特此分享,希望能帮到有同

随机推荐