一些零碎的 mathplotlib 小技巧

  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 里填效果最好。