python数学建模之Matplotlib 实现图片绘制

目录
  • Matplotlib 学习
    • Matplotlib简介
    • Matplotlib 散点图
    • Matplotlib Pyplot
    • 关于plot()
    • 绘制任意数量的点
    • 不指定 x 轴上的点,看看效果
    • 再看看y更多值的效果
    • 两个数据集
    • Matplotlib 绘图标记
    • 用 * 标记
    • 用下箭头标记
  • Matplotlib 折线图
    • fmt 参数
  • 标记大小与颜色
  • Matplotlib 条形图
  • 总结

Matplotlib 学习

Matplotlib简介

# Matplotlib简介:
'''
使用 Matplotlib 在 Python 中创建图表【Matplotlib 是用于创建图表的 Python 库】
Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。
它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式【可创建散点图,折线图,条形图和饼图等】
Matplotlib 可以用来绘制各种静态,动态,交互式的图表。
注:在使用之前需在终端安装Matplotlib
安装命令为:pip install matplotlib
Matplotlib应用:
Matplotlib 通常与 NumPy 和 SciPy(Scientific Python)一起使用, 这种组合广泛用于替代 MatLab,
是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习

'''
# 查看版本
import matplotlib
print(matplotlib.__version__)

Matplotlib 散点图

# Matplotlib 散点图
# 散点图是一种图形或数学图,使用笛卡尔坐标显示一组数据的两个变量的值

# 使用时,我们可以使用 import 导入 pyplot 库,并设置一个别名 plt
import matplotlib.pyplot as plt

x_hz = [i for i in range(10)]                   # 时间数据
y_zz = [6, 14, 21, 36, 45, 52, 66, 72, 88, 92]  # 价格数据

plt.title('price for 10 years')                 # 设置图表标题
plt.scatter(x_hz, y_zz, color='blue', marker='x', label='item 1')   # scatter()功能绘制散点图
plt.xlabel('year')      # 设置x轴标签
plt.ylabel('price')     # 设置y轴标签

plt.grid(True)          # grid()功能显示网格
plt.legend()            # legend()功能在轴上放置图例
plt.show()              # 显示图表

运行效果如下:

Matplotlib Pyplot

# Matplotlib Pyplot
'''
Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。
Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。
Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改

'''
import matplotlib.pyplot as plt
import numpy as np
x_d = np.array([0, 8])
y_d = np.array([0, 120])
plt.plot(x_d, y_d)  # plot() 函数是绘制二维图形的最基本函数
plt.show()

运行效果如下:

关于plot()

# 关于plot()
'''
plot() 用于画图它可以绘制点和线,语法格式如下:
# 画单条线
plot([x], y, [fmt], *, data=None, **kwargs)
# 画多条线
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
参数说明:
x, y:点或线的节点,x 为 x 轴数据,y 为 y 轴数据,数据可以列表或数组。
fmt:可选,定义基本格式(如颜色、标记和线条样式)。
**kwargs:可选,用在二维平面图上,设置指定属性,如标签,线的宽度等。
颜色字符:'b' 蓝色,'m' 洋红色,'g' 绿色,'y' 黄色,'r' 红色,'k' 黑色,'w' 白色,'c' 青绿色,'#008000' RGB 颜色符串。多条曲线不指定颜色时,会自动选择不同颜色。
线型参数:'‐' 实线,'‐‐' 破折线,'‐.' 点划线,':' 虚线。
标记字符:'.' 点标记,',' 像素标记(极小点),'o' 实心圈标记,'v' 倒三角标记,'^' 上三角标记,'>' 右三角标记,'<' 左三角标记...等等
'''
# 可使用 o 参数,表示一个实心圈的标记
import matplotlib.pyplot as plt
import numpy as np
x_p = np.array([0, 6])
y_p = np.array([3, 9])
plt.plot(x_p, y_p, 'o')
plt.show()

运行效果如下:

绘制任意数量的点

# 绘制任意数量的点
import matplotlib.pyplot as plt
import numpy as np
x_dp = np.array([1, 3, 5, 7, 9])
y_dp = np.array([8, 4, 2, 6, 0])
plt.plot(x_dp, y_dp)
plt.show()

运行效果如下:

不指定 x 轴上的点,看看效果

# 不指定 x 轴上的点,看看效果
import matplotlib.pyplot as plt
import numpy as np
yd = np.array([2, 9])
plt.plot(yd)
plt.show()

运行效果如下:

再看看y更多值的效果

# 再看看y更多值的效果
import matplotlib.pyplot as plt
import numpy as np
yd2 = np.array([2, 9, 1, 8, 3, 8])
plt.plot(yd2)
plt.show()

运行效果如下:

绘制正余弦图:

# 绘制正余弦图:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 4*np.pi, 0.1)
y = np.sin(x)
z = np.cos(x)
plt.plot(x, y, x, z)
plt.show()

运行效果如下:

两个数据集

# 两个数据集
import matplotlib.pyplot as plt
x_d1 = [i for i in range(1, 11)]
y_d1 = [2, 32, 41, 6, 15, 34, 34, 23, 12, 9]
x_d2 = [i for i in range(1, 11)]
y_d2 = [4, 12, 43, 21, 52, 32, 12, 43, 8, 20]
plt.title('Prices for 10 years')
plt.scatter(x_d1, y_d1, color='darkblue', marker='x', label='item 1')
plt.scatter(x_d2, y_d2, color='darkred', marker='x', label='item 2')
plt.xlabel('Year')
plt.ylabel('Price')
plt.grid(True)
plt.legend()
plt.show()

运行效果如下:

Matplotlib 绘图标记

实心圆标记:

# Matplotlib 绘图标记
# 绘图过程可使用 plot() 方法的 marker 参数来定义标记
# 实心圆标记:
import matplotlib.pyplot as plt
import numpy as np
yp = np.array([1, 3, 1, 4, 1, 5, 9, 5, 2, 1])
plt.plot(yp, marker='o')
plt.show()

运行效果如下:

用 * 标记

# 用 * 标记
import matplotlib.pyplot as plt
import numpy as np
yp2 = np.array([2, 3, 2, 43, 23, 12, 3, 4, 12, 43, 12])
plt.plot(yp, marker='*')
plt.show()

运行效果如下:

用下箭头标记

# 用下箭头标记
import matplotlib.pyplot as plt
import matplotlib.markers
plt.plot([1, 3, 5], marker=matplotlib.markers.CARETUPBASE)
plt.show()

运行效果如下:

Matplotlib 折线图

# Matplotlib 折线图
# 折线图是一种显示图表的图表,该信息显示为一系列数据点,这些数据点通过直线段相连,称为标记
# 正弦波折线图:
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 4.0, 0.01)   # arange()函数返回给定间隔内的均匀间隔的值列表
s = np.sin(2.5*np.pi*t)
# plot()功能绘制折线图
plt.plot(t, s)
plt.title('Wave')
plt.xlabel('Time')
plt.ylabel('Vol')
plt.grid(True)
plt.show()

运行效果如下:

fmt 参数

# fmt参数
'''
fmt 参数
fmt 参数定义了基本格式,如标记、线条样式和颜色。
fmt = '[marker][line][color]'
如   o:r【o 表示实心圆标记,: 表示虚线,r 表示颜色为红色】

:  代表虚线        -  代表实线
-- 代表破折线      -. 代表点划线
除了黑色是用k表示,其他颜色均用各自英文首字母表示

'''
import matplotlib.pyplot as plt
import numpy as np
ft = np.array([3, 9, 2, 6])
plt.plot(ft, 'o:r')
plt.show()

运行效果如下:

标记大小与颜色

设置标记大小:

# 标记大小与颜色
'''
标记大小与颜色
我们可以自定义标记的大小与颜色,使用的参数分别是:
markersize,简写为 ms:定义标记的大小。
markerfacecolor,简写为 mfc:定义标记内部的颜色。
markeredgecolor,简写为 mec:定义标记边框的颜色。
'''
# 设置标记大小:
import matplotlib.pyplot as plt
import numpy as np
dx = np.array([2, 32, 1, 43, 12, 12, 3])
plt.plot(dx, marker='o', ms=20)
plt.show()

运行效果如下:

设置标记外边框颜色:

# 设置标记外边框颜色:
import numpy as np
import matplotlib.pyplot as plt
yys = np.array([2, 1, 43, 1, 2, 12, 1])
plt.plot(yys, marker='*', ms=20, mec='g')
plt.show()

运行效果如下:

设置标记内部颜色:

# 设置标记内部颜色:
import matplotlib.pyplot as plt
import numpy as np
nys = np.array([2,3, 32, 12, 43, 12, 9])
plt.plot(nys, marker='o', ms=20, mfc='r')
plt.show()

运行效果如下:

Matplotlib 条形图

# Matplotlib 条形图
# 条形图显示带有矩形条的分组数据,其长度与它们代表的值成比例【条形图可以垂直或水平绘制】
import matplotlib.pyplot as plt
import matplotlib.style as sty
sty.use('ggplot')
x = [i for i in range(1, 4)]
y = [12, 8, 4]
fuck, ax = plt.subplots()       # subplots()函数返回图形和轴对象
ax.bar(x, y, align='center')    # bar()功能生成条形图
ax.set_title('Olympic Gold for London')
ax.set_ylabel('Gold medals')
ax.set_xlabel('Countries')
ax.set_xticks(x)
ax.set_xticklabels(('China', 'UK', 'USA'))
plt.show()

运行效果如下:

总结

到此这篇关于python数学建模之Matplotlib 实现图片绘制的文章就介绍到这了,更多相关python Matplotlib 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

上一章链接:python数学建模(SciPy+ Numpy+Pandas)

(0)

相关推荐

  • Python数据分析之 Matplotlib 散点图绘制

    前言: 散点图,又称散点分布图,是使用多个坐标点的分布反映数据点分布规律.数据关联关系的图表,Matplotlib 中可以通过以下方式绘制散点图: 使用plt.plot方法: 在上篇文章Python数据分析之 Matplotlib 折线图绘制中,我们介绍了可以使用plt.plot()方法绘制折线图,该方法同样可以绘制散点图,如下: import random x = range(15) y = [i + random.randint(-2,2) for i in x] plt.plot(x, y

  • python如何利用matplotlib绘制并列双柱状图并标注数值

    目录 项目场景: 代码: 效果图: 扩展功能及代码: 补充:Python画图实现同一结点多个柱状图 总结 项目场景: Python项目需要画两组数据的双柱状图,以下以一周七天两位小朋友吃糖颗数为例进行演示,用matplotlib库实现 代码: import matplotlib import matplotlib.pyplot as plt import numpy as np def drawHistogram(): matplotlib.rc("font", family='Mic

  • python使用matplotlib绘制图片时x轴的刻度处理

    在使用matplotlib绘制图片时,x轴的刻度可能比较密集,特别是以日期作为x轴时,则最后会显示不出来. 数据如下,速度V的数组与时间字符串Date的数组: 绘制随时间变化的值的折线图. 直接绘制折线图,可以发现x轴重叠. plt.plot(Date, V1, 'r', label='a') plt.plot(Date, V2, 'blue', label='b') plt.plot(Date, V3, 'black', label='c') plt.plot(Date, V4, 'yello

  • python+matplotlib实现动态绘制图片实例代码(交互式绘图)

    本文研究的主要是python+matplotlib实现动态绘制图片(交互式绘图)的相关内容,具体介绍和实现代码如下所示. 最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和matplotlib实现路径的动态显示和交互式绘图(和Matlab功能类似). Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统

  • python使用Matplotlib绘制多种常见图形

    目录 柱状图 水平绘制柱状图 多个柱状图 叠加型柱状图 散点图 气泡图 直方图 箱线图 添加文字描述 添加文字描述 方法二 多个图形描绘 subplots 使用Pandas 绘图 Matplotlib官网如果想了解更多可查看官网. import numpy as np import matplotlib.pyplot as plt %matplotlib inline #写了这个就可以不用写plt.show() plt.rcParams['font.sans-serif']=['SimHei']

  • 教你利用python的matplotlib(pyplot)绘制折线图和柱状图

    目录 前言 一.折线图 二.柱状图 总结 前言 今天帮师兄赶在deadline之前画论文的图,现学现卖很是刺激,现把使用matplotlib的子库pyplot画折线图和柱状图的代码记录分享一下,方便大家参考,个人感觉pyplot真的蛮方便的,非常值得使用. 先看下官方对pyplot的描述:“Provides a MATLAB-like plotting framework.”.对,就是一个类似matlab的画图框架.就不多多说了,直接上代码吧: 一.折线图 代码: import matplotl

  • Python数据分析Matplotlib 柱状图绘制

    前言: 柱状图是一种使用矩形柱来表示数据分布的图表,可以横向排列,也可以纵向排列,它的高度或长度和他们所代表的值成正比关系. Matplotlib 提供了bar()方法绘制柱状图, 语法格式如下: plt.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs) 常用参数及说明如下: x:表示x轴数据,接收list列表类型数据 height:表示柱状图的高度,接收list列表类型数据 width:

  • Python数据分析之使用matplotlib绘制折线图、柱状图和柱线混合图

    目录 matplotlib介绍 matplotlib绘制折线图 matplotlib绘制柱状图 matplotlib绘制柱线混合图 总结 matplotlib介绍 Matplotlib 是 Python 的绘图库. 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 PyQt 和 wxPython. 安装Matplotlib库命令:在cmd命令窗口输入pip install matplotlib. matplotlib绘制折线图 1.绘

  • python数学建模之Matplotlib 实现图片绘制

    目录 Matplotlib 学习 Matplotlib简介 Matplotlib 散点图 Matplotlib Pyplot 关于plot() 绘制任意数量的点 不指定 x 轴上的点,看看效果 再看看y更多值的效果 两个数据集 Matplotlib 绘图标记 用 * 标记 用下箭头标记 Matplotlib 折线图 fmt 参数 标记大小与颜色 Matplotlib 条形图 总结 Matplotlib 学习 Matplotlib简介 # Matplotlib简介: ''' 使用 Matplotl

  • Python数学建模学习模拟退火算法旅行商问题示例解析

    目录 1.旅行商问题(Travelling salesman problem, TSP) 2.模拟退火算法求解旅行商问题 3. 程序说明 4.模拟退火算法求解旅行商问题 Python 程序 5.运行结果 1.旅行商问题(Travelling salesman problem, TSP) 旅行商问题是经典的组合优化问题,要求找到遍历所有城市且每个城市只访问一次的最短旅行路线,即对给定的正权完全图求其总权重最小的Hamilton回路:设有 n个城市和距离矩阵 D=[dij],其中dij表示城市i到城

  • Python数学建模StatsModels统计回归模型数据的准备

    目录 1.读取数据文件 (1)读取 .csv 文件: (2)读取 .xls 文件: (3)读取 .txt 文件: 2.数据文件的拆分与合并 (1)将 Excel 文件分割为多个文件 (2)将 多个 Excel 文件合并为一个文件 3.数据的预处理 (1)缺失数据的处理 (2)重复数据的处理 (3)异常值处理 4.Python 例程(Statsmodels) 4.1 问题描述 4.2 Python 程序 4.3 程序运行结果: 版权说明: 1.读取数据文件 回归分析问题所用的数据都是保存在数据文件

  • Python数学建模StatsModels统计回归可视化示例详解

    目录 1.如何认识可视化? 2.StatsModels 绘图工具包 (Graphics) 3.Matplotlib 绘图工具包 4.Seaborn 绘图工具包 5.多元回归案例分析(Statsmodels) 5.1 问题描述 5.2 问题分析 观察数据分布特征 观察数据间的相关性 建模与拟合 6.Python 例程(Statsmodels) 6.1 问题描述 6.2 Python 程序 6.3 程序运行结果: 1.如何认识可视化? 需要指出的是,虽然不同绘图工具包的功能.效果会有差异,但在常用功

  • 浅谈Python数学建模之线性规划

    目录 一.求解方法.算法和编程方案 1.1.线性规划问题的求解方法 1.2.线性规划的最快算法 1.3.选择适合自己的编程方案 二.PuLP库求解线性规划问题 2.1.线性规划问题的描述 2.2.PuLP 求解线性规划问题的步骤 2.3.Python例程:线性规划问题 三.小结 一.求解方法.算法和编程方案 线性规划 (Linear Programming,LP) 是很多数模培训讲的第一个算法,算法很简单,思想很深刻. 线性规划问题是中学数学的内容,鸡兔同笼就是一个线性规划问题.数学规划的题目在

  • Python数学建模学习模拟退火算法整数规划问题示例解析

    目录 1.整数规划问题 2.模拟退火算法处理整数约束 3.数模案例 3.1 问题描述: 3.2 问题分析: 3.3 问题建模: 3.4 惩罚函数法求解约束优化问题: 4.模拟退火算法 Python 程序:求解整数规划问题 5.运行结果 参考文献: 1.整数规划问题 线性规划问题的最优解可能是分数或小数.但很多实际问题常常要求某些变量必须是整数解,例如:机器的台数.工作的人数或装货的车数.根据对决策变量的不同要求,整数规划又可以分为:纯整数规划.混合整数规划.0-1整数规划.混合0-1规划. 整数

  • Python数学建模学习模拟退火算法约束条件处理示例解析

    目录 1.最优化与线性规划 2.模拟退火算法处理约束条件 3.惩罚函数法 4.数模案例 4.1 问题描述: 4.2 问题建模: 5.模拟退火算法 Python 程序 6.运行结果 参考文献: 1.最优化与线性规划 最优化问题的三要素是决策变量.目标函数和约束条件. 线性规划(Linear programming),是研究线性约束条件下线性目标函数的极值问题的优化方法,常用于解决利用现有的资源得到最优决策的问题. 简单的线性规划问题可以用 Lingo软件求解,Matlab.Python 中也有求解

  • Python数学建模学习模拟退火算法多变量函数优化示例解析

    目录 1.模拟退火算法 2.多变量函数优化问题 3.模拟退火算法 Python 程序 4.程序运行结果 1.模拟退火算法 退火是金属从熔融状态缓慢冷却.最终达到能量最低的平衡态的过程.模拟退火算法基于优化问题求解过程与金属退火过程的相似性,以优化目标为能量函数,以解空间为状态空间,以随机扰动模拟粒子的热运动来求解优化问题([1] KIRKPATRICK,1988). 模拟退火算法结构简单,由温度更新函数.状态产生函数.状态接受函数和内循环.外循环终止准则构成. 温度更新函数是指退火温度缓慢降低的

  • Python数学建模StatsModels统计回归之线性回归示例详解

    目录 1.背景知识 1.1 插值.拟合.回归和预测 1.2 线性回归 2.Statsmodels 进行线性回归 2.1 导入工具包 2.2 导入样本数据 2.3 建模与拟合 2.4 拟合和统计结果的输出 3.一元线性回归 3.1 一元线性回归 Python 程序: 3.2 一元线性回归 程序运行结果: 4.多元线性回归 4.1 多元线性回归 Python 程序: 4.2 多元线性回归 程序运行结果: 5.附录:回归结果详细说明 1.背景知识 1.1 插值.拟合.回归和预测 插值.拟合.回归和预测

  • python数学建模之Numpy 应用介绍与Pandas学习

    目录 Numpy学习 1 Numpy 介绍与应用 1-1Numpy是什么 2 NumPy Ndarray 对象 3 Numpy 数据类型 4 Numpy 数组属性 Pandas学习 1 pandas新增数据列 2 Pandas数据统计函数 3 Pandas对缺失值的处理 总结 Numpy学习 1 Numpy 介绍与应用 1-1Numpy是什么 NumPy 是一个运行速度非常快的数学库,一个开源的的python科学计算库,主要用于数组.矩阵计算,包含: 一个强大的N维数组对象 ndarray广播功

随机推荐