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 内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

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

python数学建模之Matplotlib 实现图片绘制的更多相关文章

  1. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  2. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  3. Swift教程13-字典Dictionary与NSDictionary

    与Oc的字典不太一样,Swift的字典不仅可以存储对象类型的值,还可以存储基本数据类型值,结构体,枚举值;Swift字典的使用方式也更加简洁,功能更加强大.字典本质上也是结构体,查看文档可以看到:可以看到字典的key必须是实现了Hashable协议的类型;也就是说key的类型不仅限于字符串!

  4. Swift基本使用-函数和闭包(三)

    声明函数和其他脚本语言有相似的地方,比较明显的地方是声明函数的关键字swift也出现了Python中的组元,可以通过一个组元返回多个值。传递可变参数,函数以数组的形式获取参数swift中函数可以嵌套,被嵌套的函数可以访问外部函数的变量。可以通过函数的潜逃来重构过长或者太复杂的函数。

  5. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  6. Swift、Go、Julia与R能否挑战 Python 的王者地位

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  7. 2.4 Swift数学运算符号

    /**2.4Swift数学运算符号*/letv=3+5print(v)letd=v*3print(d)///UInt8是最大255,溢出了//letv1:UInt8=255+6//print(v1)letv2:UInt8=255letv3:UInt8=100//这个也是溢出的,swift中要注意溢出的overflow//letd1:UInt8=v2+v3//print(d1)//允许2.5后面的是

  8. 红薯因 Swift 重写开源中国失败,貌似欲改用 Python

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  9. Swift中的数学函数

    我已经经历了文档,但似乎找不到答案。如何使用数学函数,如sqrt(),floor(),round(),sin()等等?正如其他注释,你有几个选择。如果你只想要数学函数。您只能导入达尔文。如果你想要一切和类的用户界面,这取决于你的游乐场是OSX或iOS。对于iOS,您需要导入UIKit。您可以通过打开文件检查器轻松地发现您的游乐场平台。

  10. 你没看错:Swift可以直接调用Python函数库

    上周Perfect又推出了新一轮服务器端Swift增强函数库:Perfect-Python。对,你没看错,在服务器端Swift其实可以轻松从其他语种的函数库中直接拿来调用,不需要修改任何内容。以如下python脚本为例:Perfect-Python可以用下列方法封装并调用以上函数,您所需要注意的仅仅是其函数名称以及参数。

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部