Python基础知识——Matplotlib数据可视化篇

线形图

# %matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 250)
y, z = np.sin(x), np.cos(x)
plt.plot(x,y, x,z) #线形图
plt.plot([0.5, 1, -0.5, 1]) # x轴上的点默认为0,1,2,3
plt.show()

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 250)
y, z = np.sin(x), np.cos(x)
plt.plot(x, y, color='#66ff99') #改变颜色
plt.plot(x, z, color=(0.9, 0.2, 0.1))

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 250)
y, z = np.sin(x), np.cos(x)
plt.plot(x, y, linestyle='--') #线型设置
plt.plot(x, z, linestyle='-.')

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 25)
y, z = np.sin(x), np.cos(x)
plt.plot(x, y, marker='D', markersize=6, markerfacecolor='m') #坐标点设置,k——black(黑色)
plt.plot(x, z, marker='o', markersize=12, markerfacecolor='b', markevery=[3, 6, 10, 24])

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 25)
y, z = np.sin(x), np.cos(x)
plt.plot(x, y, marker='D', linewidth=1) #线宽设置
plt.plot(x, z, marker='o', linewidth=5)

在这里插入图片描述

绘制三维图形

1、三维曲线图 ax.plot3D(x, y, z, c)
2、三维散点图 ax.scatter(x, y, z, c)
3、曲面图 ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=‘rainbow’)
4、等高线 ax.contour(x, y, z, 等高线条数, colors=颜色, linewidth=线宽)

# 1.三维曲线图 plot3D
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D


# import pandas as pd
# from mpl_toolkits import mplot3d
# fig = plt.figure()
ax = plt.axes(projection='3d')
x = np.linspace(0, 40, 1000)
y = np.sin(x)
z = np.cos(x)
# plt.xlabel('x')
# plt.ylabel('y')
ax.plot3D(x, y, z, c='blue')

在这里插入图片描述

# 2.三维散点图 scatter
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# from mpl_toolkits import mplot3d

ax = plt.axes(projection='3d')
x, y, z = np.random.random(500), np.random.random(500), np.random.random(500)
ax.scatter(x, y, z)

在这里插入图片描述

# 3.曲面图 plot_surface
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# from mpl_toolkits import mplot3d

# fig = plt.figure()
# ax = Axes3D(fig)
ax = plt.axes(projection = '3d')
X = Y = np.linspace(-2.048, 2.048, 100)
x, y = np.meshgrid(X, Y)
z = 100 * (y - x**2)**2 + (1 - x)**2
ax.plot_surface(x, y, z)

在这里插入图片描述

# 4.等高线图 contour
#绘制三维等高线
import numpy as np
# import pandas as pd
import matplotlib.pyplot as plt
# from mpl_toolkits import mplot3d

ax = plt.axes(projection = '3d')
X = np.linspace(-5.12, 5.12, 100)
Y = X
x, y = np.meshgrid(X, Y)
z = (3 / (0.05 + x**2 + y**2))**2 + (x**2 + y**2)**2
# ax.plot_surface(x, y, z)
ax.contour(x, y, z, 30) # 最后一个数字,限制等高线数量

在这里插入图片描述

# 绘制z轴等高线
import numpy as np
import matplotlib.pyplot as plt
# from mpl_toolkits import mplotsd

plt.subplot(2, 2, 1) #规定图片位置
ax1 = plt.axes(projection='3d')
X = np.linspace(-5.12, 5.12, 100)
Y = X
x, y = np.meshgrid(X, Y)
z = (3/(0.05 + x**2 + y**2))**2 + (x**2 + y**2)**2
ax1.plot_surface(x, y, z)
ax1.contour(x, y, z, 30, offset=1, zdir='z')

在这里插入图片描述

# 绘制二维等高线
import numpy as np
import matplotlib.pyplot as plt

plt.subplot(2, 2, 1)
X = np.linspace(-5.12, 5.12, 100)
Y = X
x, y = np.meshgrid(X, Y)
z = (3/(0.05 + x**2 + y**2))**2 + (x**2 + y**2)**2
plt.contour(x, y, z, 1000)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值