1. 说明
    一些零碎的mathplotlib小技巧
  2. 怎么让图显得更高级
    1. 改字体大小:标题,子标题,标注分别不用同大小的字体,一遍文章中所有图都有相同的style。
    2. 注意子图的间距
    3. 注意对齐方向:居中,居左
    4. 注意配色:不使用红绿蓝等纯色
    5. 柱图,线图,饼图使用至少两种以上
    6. 对一组图使用相同的X,Y轴范围
    7. 注意线的粗细,点的大小
  3. 线的粗细点的大小
    plt.plot(xx, linewidth=1.0)
    plt.plot(xx, 'o', markersize=1)
  4. 横轴显示时间日期
    df['datetime'] = df['datestr'].apply(lambda x: datetime.datetime.strptime(x, "%Y-%m-%d"))
  5. 字体大小
    figure.suptitle('xxxx', fontsize=15)
    plt.tick_params(labelsize=6)
  6. 显示高分辨率
    figure = plt.figure(figsize=(8,6), dpi=300)
    其中8,6设定的图像大小及其长宽比
  7. 保存高分辨图片
    foo_fig = plt.gcf()
    foo_fig.savefig("tmp1.png", format='png', dpi=300)
    这里选择的是png图,因为其它图片格式都比较小众
  8. 饼图
    values = [100, 200]
    labels = ['lab1', 'lab1']
    colors = ['#9999ff', '#ff9999']
    explode = [0, 0.1] # 哪个突出显示,突出多少
    plt.pie(values, labels = labels, colors=colors, explode=explode, shadow=True, autopct='%1.1f%%') # 好看的饼图加阴影
    plt.show()
  9. Subplot布局
    plt.subplot(121) # 前面的1是行数,2就列数,后面的1是画在第一个位置上
    plt.subplot(212) # 前面的2是行数,1是列数,后面的2是在第二行上画
    plt.subplot(224) # 前面的2是行数,中间的2是列数,后面的4是在第四个位置上画(右下角)
    当然还有一些比较复杂的,不过一般也用不上
  10. 设定显示范围
    plt.xlim(min, max)
    plt.ylim(min, max)
  11. 总标题与子标题
    主标题figure.suptitle()
    子标题plt.title()
  12. 间距
    plt.subplots_adjust(left=0.1, bottom=0.1, right=0.9, top=0.8, hspace=0.3, wspace=0.3)
    注意用0-1间的小数指定百分比
  13. 参考
    1. python中matplotlib的颜色及线条控制
      https://www.cnblogs.com/darkknightzh/p/6117528.html
      主中指定的很多色板及对应颜色名,其实我还是觉得最方便的是找一个满意的配色方案,然后用photoshop采到它的颜色值,直接往color里填效果最好。
posted on 2018-12-19 17:43  xieyan0811  阅读(19)  评论(0编辑  收藏  举报