python matplotlib怎么让x轴只显示固定个数的标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python matplotlib怎么让x轴只显示固定个数的标签相关的知识,希望对你有一定的参考价值。

用matplotlib画图时,x轴是时间,显示出来看不清,我想只显示6个,但是所有数据都要显示,有什么办法可以让x轴的标签每隔几个才显示一次吗?比如2017-01-01下一个是2017-01-05,中间这几天x轴标签不显示,但是y轴有数据
我是将x坐标放在一个列表里的,一开始考虑不显示标签的x轴就append一个空格,但是这样所有的空格的数据都会在同一个x轴

1、首先点击键盘 win+r,打开运行窗口;在窗口中输入“cmd",点击确定,打开windows命令行窗口。

2、在cmd命令行窗口中输入"python",进入python交互窗口。

3、引入matplotlib模块的pyplot()函数,并重命名为py;引入numpy模块,并重命名为np。

4、使用函数np.arrange(-5,5,0.01)创建变量x的取值范围,是一个一维数组,使用y=2**x,创建y是与自变量x相对应的一维数组。

5、使用函数plt.plot(x,y)绘制指数函数y=2**x的函数图像。

6、最后使用函数plt.show()显示整个一元一次函数的图像,就完成了。

参考技术A #!/usr/bin/env python
#-*- coding: utf-8 -*-
#---------------------------------------------------
#演示MatPlotLib中设置坐标轴主刻度标签和次刻度标签.
#对于次刻度显示,如果要使用默认设置只要matplotlib.pyplot.minorticks_on()
#---------------------------------------------------
from pylab import *
from matplotlib.ticker import  MultipleLocator
from matplotlib.ticker import  FormatStrFormatter
#---------------------------------------------------
#将x主刻度标签设置为20的倍数(也即以 20为主刻度单位其余可类推)
xmajorLocator = MultipleLocator(20);
#设置x轴标签文本的格式
xmajorFormatter = FormatStrFormatter('%3.1f') 
#将x轴次刻度标签设置为5的倍数
xminorLocator = MultipleLocator(5) 
#设定y 轴的主刻度间隔及相应的刻度间隔显示格式
#将y轴主刻度标签设置为1.0的倍数
ymajorLocator = MultipleLocator(1.0) 
#设置y轴标签文本的格式
ymajorFormatter = FormatStrFormatter('%1.1f')
#将此y轴次刻度标签设置为0.2的倍数
yminorLocator = MultipleLocator(0.2) 
t = arange(1.0, 100.0, 1)
s=t*exp(-t*1.3)+2*sqrt(t)
#注意:一般都在ax中设置,不再plot中设置
ax = subplot(111)
plot(t,s,'--r*') 
#设置主刻度标签的位置,标签文本的格式
ax.xaxis.set_major_locator(xmajorLocator)
ax.xaxis.set_major_formatter(xmajorFormatter)
ax.yaxis.set_major_locator(ymajorLocator)
ax.yaxis.set_major_formatter(ymajorFormatter)
#显示次刻度标签的位置,没有标签文本
ax.xaxis.set_minor_locator(xminorLocator)
ax.yaxis.set_minor_locator(yminorLocator)
ax.xaxis.grid(True, which='major') #x坐标轴的网格使用主刻度
ax.yaxis.grid(True, which='minor') #y坐标轴的网格使用次刻度
show()

本回答被提问者和网友采纳
参考技术B 可以先根据您的屏幕分辨率,使用形参dpi向figure()传递该分辨率
import matplotlib.pyplot as plt
#your code
fig = plt.figure(dpi=128,figsize = (10,6))
fig.autofmt_xdate()#绘制倾斜的日期标签,以免彼此重叠。
参考技术C plt.xticks(list(x)[::3], _xtick_labels[::3])

3是每隔3个显示一次,你要显示6个自行计算

请问下ECharts的x横坐标怎么只显示整点数据

后台返回了一个list集合,里面存储了24小时内每分钟的时间,这个集合数据放入了一个ECharts的x轴(xAxis)的data里,怎样设置让x轴只显示list集合里的整点(**:00)的数据,而非整点的数据不显示,知道的麻烦讲解下,谢谢

参考技术A 定义两个x轴,一个x轴是随数据自动显示的,另一个x轴你自定义x轴的data,把你需要显示的整点列入data中。最后就是把自动生成的x轴隐藏,把自定义的x轴显示。本回答被提问者和网友采纳 参考技术B 没明白你的意思!!!你是做的什么图?

以上是关于python matplotlib怎么让x轴只显示固定个数的标签的主要内容,如果未能解决你的问题,请参考以下文章

各位大神,求帮助,Echarts 最新版本的怎么让y轴只显示整数刻度

请问下ECharts的x横坐标怎么只显示整点数据

Python机器学习(六十五)Matplotlib 入门

一般origin作出的图X轴横坐标都是从左到右按从小到大排列的,我想问一下怎么样才能让X轴坐标从大到小排列.

python matplotlib以日期为x轴作图

怎么用matplotlib做出折线图 并且完美显示X轴标签? 很简单