这次来整理一波python用matplotlib绘图的常用函数,以及如何修改默认死亡配色。

前期准备

导入包

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

基本设置

plt.figure() # 创建画布
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体,不然中文无法显示plt.rcParams['figure.figsize'] = (8.0, 4.0) # 设置figure_size尺寸
#figsize(12.5, 4) # 设置 figsize
plt.rcParams['savefig.dpi'] = 300 #保存图片分辨率
plt.rcParams['figure.dpi'] = 300 #分辨率
# 默认的像素:[6.0,4.0],分辨率为100,图片尺寸为 600&400
# 指定dpi=200,图片尺寸为 1200*800
# 指定dpi=300,图片尺寸为 1800*1200plt.rcParams['image.interpolation'] = 'nearest' # 设置 interpolation style
plt.rcParams['image.cmap'] = 'gray' # 设置 颜色 styleplt.savefig('plot1.png', dpi=300) #指定分辨率保存

折线图

plt.plot(index, value, label='频率')
plt.grid(axis="y")   # 坐标网格
plt.legend()    # 图例
plt.xlabel('迭代次数')    # x轴标题
plt.ylabel('亲缘度') # y轴标题
plt.xticks(size = 9,rotation = 30)    # x轴标签旋转

柱状图

data = [5, 20, 15, 25, 10]
plt.bar(data)
plt.show()

饼图

plt.pie(x, explode=None, labels=None,colors=('b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'),autopct=None, pctdistance=0.6, shadow=False,labeldistance=1.1, startangle=None, radius=None,counterclock=True, wedgeprops=None, textprops=None,center = (0, 0), frame = False )
'''
x       (每一块)的比例,如果sum(x) > 1会使用sum(x)归一化
labels  (每一块)饼图外侧显示的说明文字
explode (每一块)离开中心距离
startangle  起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起
shadow  是否阴影
labeldistance label绘制位置,相对于半径的比例, 如<1则绘制在饼图内侧
autopct 控制饼图内百分比设置,可以使用format字符串或者format function'%1.1f'指小数点前后位数(没有用空格补齐)
pctdistance 类似于labeldistance,指定autopct的位置刻度
radius  控制饼图半径
'''

修改配色

默认的配色是真的丑,连我这种直男都看不下去了,虽然可以手动调整每一块的颜色,但这实在太艰难了。

尝试了几种方法,最后还是采用了这篇文章中的方法。

安装brewer2mpl

直接pip install brewer2mpl即可。

导入使用

这里给个例子:

import brewer2mpl
# 参照下方配色方案,第三参数为颜色数量,这个例子的范围是3-12,每种配色方案参数范围不相同
bmap = brewer2mpl.get_map('Set3', 'qualitative', 10)colors = bmap.mpl_colorsplt.figure()
plt.rcParams['font.sans-serif'] = ['SimHei']
# 对于饼图
plt.pie(sub_count, labels=[x[0] for x in subjects], colors=colors)# 或者直接修改配色方案
plt.rcParams['axes.color_cycle'] = colors

附上配色方案:

来看看效果,比原来的死亡配色好看多了。

原文地址:https://blog.luzy.top/posts/1237182484/

python,matplotlib绘图基本操作美化教程相关推荐

  1. Python Matplotlib绘图的正确打开方式

    Python Matplotlib绘图的正确打开方式 文章目录 Python Matplotlib绘图的正确打开方式 1.先搞懂fig.axes.axis `Figure` `Axes` `Axis` ...

  2. Matplotlib绘图基本操作

    Matplotlib绘图基本操作 声明 绘制简易折线图 子图操作 条形图与散点图 条形图 散点图 直方图和箱线图 直方图 箱线图 其他 声明 本文涉及的代码基于python 3.6.5 numpy1. ...

  3. python画图显示不了中文_完美解决Python matplotlib绘图时汉字显示不正常的问题

    Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下: 1.在python安装目录的Lib目录下创建ch.py文件. 文件中代码为: 保存,以后通过 ...

  4. Python+matplotlib绘图时显示中文的设置方法

    封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: =================== 在使用Python+mat ...

  5. python 3d绘图 汉字_完美解决Python matplotlib绘图时汉字显示不正常的问题

    Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下: 1.在python安装目录的Lib目录下创建ch.py文件. 文件中代码为: 保存,以后通过 ...

  6. 科研论文绘图:ppt, word,latex,python matplotlib绘图 ,矢量图,高清图,放大不失真

    目录 1. 用PPT绘图,保存为高清图片,不推荐使用,方法链接 2. 用PPT绘图,保存为emf矢量图,适合插入word,方法链接 3. 用PPT画图,保存为eps文件,适合插入latex,方法链接 ...

  7. 解决 Python Matplotlib 绘图时不连续x轴自动补全的问题(xsticks)

    问题 发现一个奇怪的问题,记录一下: 用 Python Matplotlib绘图的时候,x轴为不连续的日期,但是画出来的图,对于不连续的部分x轴会自动补全,空出来的部分是没有值的.(x轴数据明明是明确 ...

  8. python绘制3d图-Python matplotlib绘图示例 - 绘制三维图形

    Python matplotlib模块是扩展的MATLAB的一个绘图工具库.它可以绘制各种图形,下面就学习了下Python中的matplotlib模块,如何绘制三维图形. 示例代码一: # codin ...

  9. 使用Python Matplotlib绘图并输出图像到文件中的实践

    在大数据及深度学习的背景下,随着卷积神经网络(CNN)的成功应用,图像识别能力好像唾手可得.最近实际工作中,却遇到了困难,难题是用于可学习的图像贫乏,很难形成用于学习的样本. 其实,也是有一定解决图像 ...

最新文章

  1. 实践人生 —— 一个普通IT人的十年回顾(下)
  2. elegance suites bangkok info
  3. 组态王和modbus协议
  4. 《原力计划【第二季】》第 8 周周榜揭晓!!!
  5. Python成员修饰符,metaclass,异常,反射,单例
  6. 不忘初心,不负韶华——2021年中会议发言之一
  7. 学生食堂信息管理系统
  8. Python 正则表达式详解(建议收藏!)
  9. qlv视频转换器免费版_推荐几款强大的视频剪辑软件
  10. Github上传代码到main分支
  11. 学习与记忆方法-学习之前先学如何学习
  12. 华为freelance耳机充不进电修理
  13. 拉普拉斯变换的定义-笔记
  14. python切比雪夫滤波器_[Matlab]切比雪夫Ⅰ型滤波器设计:低通、高通、带通和带阻...
  15. 校招前端笔试面试回顾
  16. 什么是IT咨询?IT外包又是什么?
  17. 超算平台安装Anaconda和Tensorflow
  18. 2022-2028全球双斜齿轮行业调研及趋势分析报告
  19. js 判断数组中是否包含某个元素
  20. 成都IT培训机构哪个好?

热门文章

  1. Win10开启休眠模式
  2. ERP、进销存、仓储管理系统三者傻傻分不清?
  3. python+OpenCV笔记(三十五):特征匹配——基于FLANN的匹配、基于FLANN进行单应性匹配
  4. 设置UISwitch大小
  5. 降薪也要跳槽,是傻还是“佛系”?
  6. Hyperledger Fabric/Fabric-samples 安装及使用(Mac)
  7. 华为出手了!30家日企接到“最后通牒”,日媒:芯片禁令遭反噬
  8. 14152学期校内岗招聘信息
  9. 【T31ZL智能视频应用处理器资料】
  10. SpringCloud学习-周阳