【数模学习|【Matplotlib 画图】】
目录~python
- Matplotlib 学习(续)
-
- 折线图
-
- 相关运行效果如下:
- 柱状图
-
- 相关运行效果如下:
- 子图
-
- 相关运行效果如下:
- 三维曲线图
-
- 相关运行效果如下:
- 三维曲面图
-
- 相关运行效果如下:
- 三维表面图
-
- 相关运行效果如下:
- 每日一言:
-
- 持续更新中...
个人昵称:lxw-proMatplotlib 学习(续) Python扩展库
个人主页:欢迎关注 我的主页
个人感悟: “失败乃成功之母”,这是不变的道理,在失败中总结,在失败中成长,才能成为IT界的一代宗师。
Matplotlib
依赖于扩展库NumPy
和标准库Tkinter
,可以绘制多种形式的图形,包括折线图、散点图、饼图、柱状图、雷达图等等。
Python扩展库Matplotlib包括pylab、pyplot等绘图模块以及大量用于字体、颜色、图例等图形元素的管理与控制的模块。其中
pylab
和pyplot
模块提供了类似于MATLAB的绘图接口,支持线条样式、字体属性、轴属性以及其他属性的管理和控制,可以使用非常简洁的代码绘制出优美的各种图案。使用pylab
或pyplot
绘图的一般过程:
- 读入数据
- 根据实际需要绘制折线图、散点图、柱状图、雷达图或三维曲线和曲面
- 接下来设置轴和图像属性
- 显示或保存绘图结果
# 折线图
import pandas as pd
import pylab as pltplt.rc('font', family='SimHei')# 用来正常显示中文标签
plt.rc('font', size=20)# 设置显示字体大小# 同上
# plt.rcParams['font.sans-serif'] = ['SimHei']
# plt.rcParams['axes.unicode_minus'] = Falselxw = pd.read_excel('data2.xlsx', header=None)
tsj = lxw.values# 提取其中的数据
# print(tsj)x = tsj[0]# 提取第一行的数据
y = tsj[1:]# 提取除第一行外的数据plt.plot(x, y[0], '-*b', label='用水量')
plt.plot(x, y[1], '--pr', label='用电量')plt.xlabel('月份')
plt.ylabel('每月用量')plt.legend(loc='upper left')
plt.grid()
plt.show()
相关运行效果如下:
文章图片
柱状图
# 柱状图
import pandas as pd
import pylab as plt# 用来正常显示中文标签
plt.rc('font', family='SimHei')
plt.rc('font', size=20)lxw2 = pd.read_excel('data2.xlsx', header=None)sz = lxw2.T
sz.plot(kind='bar')
plt.legend(['用水量', '用电量'])plt.xticks(range(6), sz[0], rotation=0)
plt.ylabel('用量')plt.show()
相关运行效果如下:
文章图片
子图
# 子图
import numpy as np
import pylab as plt# plt.rc('text', usetex=True)
y1 = np.random.randint(2, 6, 6)
y1 = y1/sum(y1)plt.subplot(2, 2, 1)
su = ['Python', 'Java', 'MySQL', 'C', 'Math', 'English']plt.barh(su, y1)
plt.subplot(222)
plt.pie(y1, labels=su)
plt.subplot(212)x2 = np.linspace(0.01, 10, 100)
y2 = np.sin(10*x2)/x2plt.plot(x2, y2)plt.xlabel('$x$')
plt.ylabel('$\\mathrm{sin}(10x)/x$')plt.show()
相关运行效果如下:
文章图片
——————————————————————————————————————————
三维曲线图
# 三维曲线
import pylab as plt
import numpy as npswx = plt.axes(projection='3d')z = np.linspace(-50, 50, 1000)
x = z ** 2 * np.sin(z)
y = z ** 2 * np.cos(z)swx.plot(x, y, z, 'b')plt.show()
相关运行效果如下:
文章图片
三维曲面图
# 三维曲面图
import pylab as plt
import numpy as npswt = plt.axes(projection='3d')x = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, x)z = 50 * np.sin(x+y)swt.plot_surface(x, y, z, color='r')plt.show()
相关运行效果如下:
文章图片
三维表面图
# 三维表面图
import pylab as plt
import numpy as npswb = plt.axes(projection='3d')x = np.arange(-8, 8, 0.25)
y = np.arange(-8, 8, 0.25)
x, y = np.meshgrid(x, y)z = np.sin(np.sqrt(x**2+y**2))tx = swb.plot_surface(x, y, z, cmap='coolwarm')plt.colorbar(tx)plt.show()
相关运行效果如下:
文章图片
每日一言:
生活就是这样,脚长在自己身上,往前走就对了,直到向往的风景,变成走过的地方!
点赞,你的认可是我创作的欢迎关注微信公众号【程序人生6】,一起探讨学习哦!!!动力
!
收藏,你的青睐是我努力的方向
!
评论,你的意见是我进步的财富
!
关注,你的喜欢是我长久的坚持
!
文章图片