使用matplotlib绘图(二)

在(一)中,我们学习了如何画函数图像,这次讲解如何绘制其他类型图像

1.折线图

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 设置中文字体
x = range(0,20)
y = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
plt.figure(figsize=(10, 8), dpi=80)# 设置图形大小
plt.plot(x, y)
_xtick_labels = ['{}s'.format(i) for i in x]# 设置刻度表
plt.xticks(x, _xtick_labels)
plt.xlabel('时间')#x坐标轴名称
plt.ylabel('速度 m/s')#y坐标轴名称
plt.grid()  # 设置网格
plt.show()

在这里插入图片描述

2.散点图

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
a = [11, 17, 16, 11, 12, 11, 12, 6, 6, 7, 8, 9, 12, 15, 14, 17, 11, 17, 16, 11, 12, 11, 12, 6, 6, 7, 8, 9, 12, 15, 1]
b = [26, 26, 19, 21, 16, 17, 20, 19, 24, 22, 22, 33, 14, 13, 19, 22, 26, 26, 19, 21, 16, 17, 20, 19, 24, 22, 22, 33, 14,13, 19]

x_3 = range(1, 32)
x_10 = range(51, 82)
plt.figure(figsize=(20, 8), dpi=80)
plt.scatter(x_3, a, label="3月份温度")
plt.scatter(x_10, b, label="10月份温度")
plt.legend()  # 显示图例
# 调整x轴刻度
_x = list(x_3)+list(x_10)
_xticks_labels = ["3月{}日".format(i) for i in x_3]
_xticks_labels += ["10月{}日".format(i) for i in x_10]
plt.xticks(_x[::5], _xticks_labels[::5], rotation=45)
plt.xlabel('时间')
plt.ylabel('温度')
plt.title('北京3月和10月的温度分布')
plt.show()

在这里插入图片描述

3.条形图

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
a = ['微积分', '概率论', '近代史', 'C语言', '大学物理', '英语']
b = [96.58, 94.23, 97.25, 96.55, 95.68, 98.73]
plt.bar(range(len(a)), b)
plt.xticks(range(len(a)), a)
plt.ylim(ymin=94,ymax=99)
plt.locator_params('y',nbins=6)
plt.xlabel('学科名')
plt.ylabel('及格率/%')
plt.show()

在这里插入图片描述

4.立体图

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D #用来给出三维坐标系

figure = plt.figure()#打开一个画布
axes = Axes3D(figure)#画出三维坐标系
X = np.arange(-10, 10, 0.25) #限定x和y的画图范围
Y = np.arange(-10, 10, 0.25)
X, Y = np.meshgrid(X, Y)#限定图形的样式是网格线的样式
Z = np.cos(((X**2) + Y**2)**(1/6))#给出二元函数的解析式
axes.plot_surface(X, Y, Z,cmap='rainbow')#绘制曲面,采用彩虹色着色
plt.show()#图形可视化

在这里插入图片描述

5.双坐标轴

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(1,20)
y1= x**2
y2= np.log(x)
plt.plot(x,y1,c='red',ls='-')
#添加一个坐标轴
plt.twinx()
plt.plot(x,y2,c='blue',ls='--')
plt.show()

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值