经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
python数学建模之Matplotlib?实现图片绘制
来源:jb51  时间:2022/7/4 8:50:27  对本文有异议

Matplotlib 学习

Matplotlib简介

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

Matplotlib 散点图

  1. # Matplotlib 散点图
  2. # 散点图是一种图形或数学图,使用笛卡尔坐标显示一组数据的两个变量的值
  3.  
  4. # 使用时,我们可以使用 import 导入 pyplot 库,并设置一个别名 plt
  5. import matplotlib.pyplot as plt
  6.  
  7. x_hz = [i for i in range(10)] # 时间数据
  8. y_zz = [6, 14, 21, 36, 45, 52, 66, 72, 88, 92] # 价格数据
  9.  
  10. plt.title('price for 10 years') # 设置图表标题
  11. plt.scatter(x_hz, y_zz, color='blue', marker='x', label='item 1') # scatter()功能绘制散点图
  12. plt.xlabel('year') # 设置x轴标签
  13. plt.ylabel('price') # 设置y轴标签
  14.  
  15. plt.grid(True) # grid()功能显示网格
  16. plt.legend() # legend()功能在轴上放置图例
  17. plt.show() # 显示图表

运行效果如下:

Matplotlib Pyplot

  1. # Matplotlib Pyplot
  2. '''
  3. Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。
  4. Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。
  5. Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改
  6.  
  7. '''
  8. import matplotlib.pyplot as plt
  9. import numpy as np
  10. x_d = np.array([0, 8])
  11. y_d = np.array([0, 120])
  12. plt.plot(x_d, y_d) # plot() 函数是绘制二维图形的最基本函数
  13. plt.show()

运行效果如下:

关于plot()

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

运行效果如下:

绘制任意数量的点

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

运行效果如下:

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

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

运行效果如下:

再看看y更多值的效果

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

运行效果如下:

绘制正余弦图:

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

运行效果如下:

两个数据集

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

运行效果如下:

Matplotlib 绘图标记

实心圆标记:

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

运行效果如下:

用 * 标记

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

运行效果如下:

用下箭头标记

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

运行效果如下:

Matplotlib 折线图

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

运行效果如下:

fmt 参数

  1. # fmt参数
  2. '''
  3. fmt 参数
  4. fmt 参数定义了基本格式,如标记、线条样式和颜色。
  5. fmt = '[marker][line][color]'
  6. 如 o:r【o 表示实心圆标记,: 表示虚线,r 表示颜色为红色】
  7.  
  8. : 代表虚线 - 代表实线
  9. -- 代表破折线 -. 代表点划线
  10. 除了黑色是用k表示,其他颜色均用各自英文首字母表示
  11.  
  12. '''
  13. import matplotlib.pyplot as plt
  14. import numpy as np
  15. ft = np.array([3, 9, 2, 6])
  16. plt.plot(ft, 'o:r')
  17. plt.show()

运行效果如下:

标记大小与颜色

设置标记大小:

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

运行效果如下:

设置标记外边框颜色:

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

运行效果如下:

设置标记内部颜色:

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

运行效果如下:

Matplotlib 条形图

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

运行效果如下:

总结

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

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号