python数据分析007_使用Matplotlib绘图

一. 画图中中文显示

  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位旋转的度数。
  4.matplotlib 中设置图形大小
  • plt.figure(figsize=(a, b), dpi=dpi)
  • 其中: - figsize 设置图形的大小,a 为图形的宽, b 为图形的高,单位为英寸 - dpi 为设置图形每英寸的点数,即每英寸多少个像素
     
上一篇:群主发普通红包.007


下一篇:007_监听器