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

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

2020-04-30 · 繁杂信息太多,你要学会辨别
知道答主
回答量:4367
采纳率:0%
帮助的人:66.2万
展开全部

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()显示整个一元一次函数的图像,就完成了。

玩转数据处理
2018-01-04 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3794

向TA提问 私信TA
展开全部
#!/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()
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
米露aJeMP
2018-06-14
知道答主
回答量:2
采纳率:0%
帮助的人:1914
展开全部
可以先根据您的屏幕分辨率,使用形参dpi向figure()传递该分辨率
import matplotlib.pyplot as plt
#your code
fig = plt.figure(dpi=128,figsize = (10,6))
fig.autofmt_xdate()#绘制倾斜的日期标签,以免彼此重叠。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ICE傻西
2019-09-15
知道答主
回答量:2
采纳率:0%
帮助的人:1376
展开全部
plt.xticks(list(x)[::3], _xtick_labels[::3])

3是每隔3个显示一次,你要显示6个自行计算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式