【matplotlib绘图X轴标签不完全显示解决方法】

您所在的位置:网站首页 diamond坐标轴怎么显示出来 【matplotlib绘图X轴标签不完全显示解决方法】

【matplotlib绘图X轴标签不完全显示解决方法】

2023-07-29 08:36| 来源: 网络整理| 查看: 265

matplotlib绘图X轴标签不完全显示解决方法

举例: 现从excel中读取日期为X轴,X轴的刻度设置为每10个日期为一个间隔,但是绘图X轴的标签没有对应上刻度显示,如下图所示 在这里插入图片描述 主要代码如下:

import pandas as pd import numpy as np import matplotlib.pyplot as plt import warnings warnings.filterwarnings('ignore') #不打印告警 plt.rcParams['font.sans-serif'] = ['KaiTi'] #将图中的字体设置为中文楷体 plt.rcParams['axes.unicode_minus'] = False #显示图中的负数 df=pd.read_excel(r'E:\python\Files\file3\data.xlsx') dfg=df.groupby(df['网元ID']) lst=list(dfg) time_list=lst[0][1]['开始时间'].tolist() fig=lst[0][1].plot(x='开始时间',y='RRC连接最大连接用户数',figsize=(10,5)) fig=lst[0][1].plot.area(x='开始时间',y='RRC连接平均连接用户数',ax=fig) #在fig上继续绘制 plt.xticks(range(0,len(time_list),10),rotation=90,fontsize=8)#横轴标签旋转90° plt.subplots_adjust(left=0.05, right=0.95, top=0.95, bottom=0.3)#调整图片边缘距离 plt.show()

解决方法: 了解xticks()函数中参数的含义,利用其[labels]参数解决X轴标签显示不全的现象,xticks()函数参数解释如下

xticks()中有3个参数: xticks(locs, [labels], **kwargs) locs参数是一个数组,用于设置X轴刻度间隔 [labels]参数也是一个数组,用于设置每个间隔的显示标签 **kwargs可用于设置标签字体倾斜度和颜色等

期望效果图: 在这里插入图片描述 期望效果图完整代码:

import pandas as pd import numpy as np import matplotlib.pyplot as plt import warnings warnings.filterwarnings('ignore') #不打印告警 plt.rcParams['font.sans-serif'] = ['KaiTi'] #将图中的字体设置为中文楷体 plt.rcParams['axes.unicode_minus'] = False #显示图中的负数 df=pd.read_excel(r'E:\python\Files\file3\data.xlsx') dfg=df.groupby(df['网元ID']) lst=list(dfg) time_list=lst[0][1]['开始时间'].tolist() fig=lst[0][1].plot(x='开始时间',y='RRC连接最大连接用户数',figsize=(10,5)) fig=lst[0][1].plot.area(x='开始时间',y='RRC连接平均连接用户数',ax=fig) #在fig上继续绘制 plt.xticks(range(0,len(time_list),10),[time_list[i] for i in range(0,len(time_list),1) if i%10==0],rotation=90,fontsize=8)#横轴标签旋转90° plt.subplots_adjust(left=0.05, right=0.95, top=0.95, bottom=0.3)#调整图片边缘距离 plt.show()

其中[labels]参数本文用了列表表达式的方式

[time_list[i] for i in range(0,len(time_list),1) if i%10==0] #等价于label_list

其等价于

label_list=[] for i in range(0,len(time_list),1): if i%10==0: label_list.append(time_list[i])


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3