matplotlib绘图工具笔记

python中有许多非常方便的可视化工具,例如matplotlib,seaborn等。在这里主要总结matplotlib的简单绘图方法。

设置图形的大小和中文显示,图片保存

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Microsoft YaHei']  #中文表示
plt.rcParams['axes.unicode_minus']=False
#设置图形大小
plt.figure(figsize=(10,6),dpi=80)  #dpi是设置像素
plt.savefig('./pic1.png')  #写下保存路径

插入代码:Ctrl/Command + Shift + K

  1. 绘制折线图
#绘制2小时的气温
import random
y=[random.randint(20,35) for i in range(120)]
x=range(120)
plt.figure(figsize=(12,8))
plt.plot(x,y)
# 设置x轴刻度,数字和字符串一一对应,一样长
_x=list(x)
_xtick_labels=["10点{}分".format(i) for i in range(60)]
_xtick_labels+=["11点{}分".format(i-60) for i in range(60,120)]
plt.xticks(_x[::10],_xtick_labels[::10],rotation=75)  # rotation=90 旋转90度

  1. 绘制散点图
#绘制3月份和10月份的气温散点图
a = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
b = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]
#设置x轴刻度
x_a=range(1,32)  #3月1-31日
x_b=range(32,63)_x_=list(x_a)+list(x_b)
_xtick_labels=["3月{}日".format(i) for i in range(1,32)]
_xtick_labels+=["10月{}日".format(i-30) for i in range(32,63)]plt.figure(figsize=(10,6))
plt.scatter(x_a,a,label='3月')
plt.scatter(x_b,b,label='10月')
plt.xticks(_x_[::5],_xtick_labels[::5],rotation=45)
plt.xlabel("日期")
plt.ylabel("气温")
#设置图例,默认会选择合适的地方,也可自主设置,此处设置为左上
plt.legend(loc="upper left")

  1. 绘制条形图
    注意条形图与直方图的区别。条形图用于分类数据,不连续数值。直方图用于连续型数据。
#绘制多个条形图
a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]x_14=list(range(len(a)))
x_15=list(i+0.2 for i in range(len(a)))
x_16=list(i+0.4 for i in range(len(a)))plt.bar(range(len(a)),b_14,width=0.2,label='14日票房')
plt.bar(x_15,b_15,width=0.2,label='15日票房')
plt.bar(x_16,b_16,width=0.2,label='16日票房')
plt.legend()
plt.xticks(x_15,a)

  1. 绘制直方图
    注意直方图用于未统计分组过的原始数据。
#数据为a,是电影时长
plt.figure(figsize=(10,6))
d=6  #设置步长,该处影响grid设置是否和直方重合,数据个数整除则重合
num_bins=(max(a)-min(a))//d
plt.hist(a,bins=num_bins,color='g')
plt.grid()
plt.xticks(range(min(a),max(a)+d,d))
plt.xlabel("个数")
plt.ylabel("数量")
plt.title("电影时长")


8. 条形图调整成为直方图

#绘制多个条形图,plt多次plot即可
#以下已经分组过的数据可先绘制条形图
interval = [0,5,10,15,20,25,30,35,40,45,60,90]
width = [5,5,5,5,5,5,5,5,5,15,30,60]
quantity = [836,2737,3723,3926,3596,1438,3273,642,824,613,215,47]
#先绘制出条形图,再通过调整条形的大小变成直方图
plt.bar(range(len(width)),quantity,width=1)
#设置x轴刻度
_x=[i-0.5 for i in range(len(width)+1)]  #调整条形的大小,左移0.5
_xtick_labels=interval+[150]
plt.xticks(_x,_xtick_labels)
plt.grid()

<最後の一言>
绘制图形本身很简单,难点在于x轴刻度的设置。
绘制过程中也可随时查看官方文档。
url: http://matplotlib.org/gallery/index.html

<笔记1>matplotlib绘图工具笔记相关推荐

  1. 神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(Matplotlib绘图基础<1>python)

    数据可视化 数据分析阶段:理解和洞察数据之间的关系 算法调试阶段:发现问题,优化算法 项目总结阶段:展示项目成果 Matplotlib: 第三方库,可以快速方便地生成高质量的图表 安装Matplotl ...

  2. python描边_【基础】学习笔记52-Python3 matplotlib绘图-热力图1

    # 热力图: # imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vma ...

  3. 神经网络与深度学习——TensorFlow2.0实战(笔记)(六)(Matplotlib绘图基础<折线图和柱状图>python)

    折线图(Line Chart): 散点图的基础上,将相邻的点用线段相连接 plot()函数 #折线图:在散点图的基础上将相邻两个点链接 #描述变量变化的趋势 #plot(x,y,color,marke ...

  4. 神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(Matplotlib绘图基础<散点图>python)

    散点图(Scatter): 是数据点在直角坐标系中的分布图 scatter() 函数 marker参数--数据点样式 添加文字--text() 函数 坐标轴设置 增加图例 绘制标准正态分布的散点图步骤 ...

  5. python笔记4(矩阵和随机数 matplotlib绘图基础散点图折线图柱状图)

    记录python听课笔记 文章目录 记录python听课笔记 一,矩阵 1.1矩阵创建 1.2矩阵运算 矩阵的乘法 矩阵转置T 矩阵求逆I 二,随机数 2.1随机数模块 numpy.random 2. ...

  6. Python基础知识学习笔记——Matplotlib绘图

    Python基础知识学习笔记--Matplotlib绘图 整理python笔记,以防忘记 文章目录 Python基础知识学习笔记--Matplotlib绘图 一.绘图和可视化 1.导入模块 2.一个简 ...

  7. jquery 绘图工具 flot 学习笔记

    原文地址为: jquery 绘图工具 flot 学习笔记 今天想做一个统计图表,像163博客的流量统计一样的,借助 flot 实现了,而且很简单. flot网址:http://code.google. ...

  8. Matplotlib绘图笔记

    Matplotlib绘图 引言 绘图步骤 创建画布 图片的参数设置 选择特定API使用数据绘制所需图形 图形显示 完整代码展示 引言 不管是做实验.科研还是工作,对我们来说,对实验过程以及结果使用图片 ...

  9. Python 数据分析与展示笔记3 -- Matplotlib 库基础

    Python 数据分析与展示笔记3 – Matplotlib 库基础 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展 ...

最新文章

  1. java 值传递 和 引用传递
  2. 数人科技:打造服务传统金融平台
  3. 6个免费的C++图形和游戏库
  4. ELK 经典用法—企业自定义日志收集切割和mysql模块
  5. OAuth2解决什么问题
  6. Redis - Redis command timed out nested exception is io.lettuce.core.RedisCommandTimeoutException
  7. 【转】谈谈c#中异步编程模型的变迁**
  8. 文件系统应用笔记之一:FatFS在STM32F4上的移植
  9. 用线程实现动态改变图标
  10. CVPR 2020 论文大盘点—目标跟踪篇
  11. Filecoin网络目前总质押量约为4110万枚FIL
  12. 【265天】跃迁之路——程序员高效学习方法论探索系列(实验阶段23-2017.10.28)...
  13. 【机器人技术基础】MATLAB Robotics Toolbox PUMA560 运动学正逆解
  14. 【Electron+Vue】【一】开发跨平台桌面应用了解+构建
  15. 今日头条含室内设计用户粉丝数量统计(2019.12.24)
  16. 用matlab产生正弦信号并采样,正弦信号的采样与恢复..doc
  17. 下载Python编辑器Thonny教程
  18. 计算机公式加法A C,概率公式c怎么计算
  19. [解疑][VS]Visual Studio软件编程时,ID号的格式ID_,IDS_,IDC_,IDI_,IDB_,IDD_之间有什么区别?
  20. C/C++二维数组总结

热门文章

  1. 收集了100+论文的最新综述来了!基于深度学习的图像深度重建
  2. windows启动mysql8服务_MySQL8.0服务启动(windows10)
  3. java Excel 导入 IllegalStateException 异常处理 不同的数据类型
  4. Centos 7.5安装配置MongoDB 4.0.5
  5. 语雀图片与七牛云之间的迁移同步
  6. R语言绘制环状条形图
  7. JGG:北大陈峰+陈宁揭示维生素A缺陷小鼠中多因素对肠道菌群的调节作用
  8. NBT封面:纳米孔基因组测序快速临床诊断细菌性下呼吸道感染
  9. 淡水:21世纪的分子微生物生态学
  10. Nature:乙酸盐通过介导微生物-脑-β细胞轴促进代谢综合征