一. 画图中中文显示
1.如果想要Matplotlib显示中文我们可以使用三种方法:
第一种:直接修改Matplotlib配置文件matplotlibrc 第二种:动态修改配置 第三种:设置自定义字体 2.第三种eg:- %matplotlib inline
- from matplotlib import pyplot as plt
- from matplotlib import font_manager
- import random
- # 创建字体对象
- my_font = font_manager.FontProperties(fname='/data/course_data/data_analysis/STSONG.TTF',size=18)
- x = range(0,120)
- y = [random.randint(10,30) for i in range(120)]
- # 添加字体属性
- plt.ylabel("次数",fontproperties=my_font)
- plt.xlabel("时间",fontproperties=my_font)
- # 设置标题
- plt.title('每分钟跳动次数',fontproperties=my_font)
- plt.plot(x,y)
- plt.show()
二. 自定义X轴刻度
1.画图时刻度可能显示不全,造成这个问题的原因是:
- 刻度的文字过长,但是图片的宽度不够。
- x轴和y轴刻度会默认根据x值和y值生成,并且Matplotlib默认会生成它认为合适的刻度间距。
2.使用plt.xticks()这个方法自定义x轴的刻度
- xticks(locs, [labels], **kwargs)
- locs参数为数组参数,表示x-axis的刻度线显示标注的地方,即ticks放置的地方,第二个参数也为数组参数,表示在locs数组表示的位置添加的标签。
3.plt.xticks(range(0,len(x),3),x[::3],rotation=45)
- range(0,len(x),3)为xticks()的第一个参数,根据x值的个数调整x轴的刻度疏密程度。
- x[::3]为xticks()的第二个参数,还是使用x的值作为刻度的标签值,但是这里获取了其中的一部分,确保第一个参数和第二个参数的个数相同。
- rotation=45默认刻度的值是横向书写的,这样会有一定的重叠,所以我们将文字进行旋转操作,45位旋转的度数。
- plt.figure(figsize=(a, b), dpi=dpi)
- 其中: - figsize 设置图形的大小,a 为图形的宽, b 为图形的高,单位为英寸 - dpi 为设置图形每英寸的点数,即每英寸多少个像素