Python常用工具库-实验(6个lab)-Matplotlib

Matplotlib

from pylab import mpl
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

plt.style.use("seaborn-darkgrid")  # 选择图形主题(默认为全刻度)
# 共有五个主题:暗网格(darkgrid),白网格(whitegrid),全黑(dark),全白(white),全刻度
# (ticks) ,在 seaborn中设置主题使用set_style ()方法
x = np.arange(0, 3 * np.pi, 0.1)  # 生成数组x
# numpy.sin(x[, out):生成x中数据的正弦值数组
y = np.sin(x)  # 对于×中的每个元素取正弦值
# matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, *kwargs):绘制曲线图。*args中包括所需要的数据,曲线的颜色和样式等。
plt.plot(x, y)  # 根据传入的数据,绘制曲线图
plt.show()  # 显示图形

plt.style.use("seaborn-whitegrid")
x = np.arange(0, 3*np.pi, 0.1)
y_sin = np.sin(x)  # 生成正弦数据
y_cos = np.cos(x)  # 生成余弦数据
# matplotlib.pyplot.subplot (* args,** kwargs ):在当前图中添加子图。*args是一个3位整数或三个独立的整数,用于描述子图的位置:(2,1,1):将原图分为2行1列两个子图,后面的1表示选中第一个。
plt.subplot(2, 1, 1)  # 第一个画板的第一个子图
plt.plot(x, y_sin)          # 绘制第一个子图
plt.title('Sine')  # 设置图的标题
plt.subplot(2, 1, 2)  # 第二个子图
plt.plot(x, y_cos)  # 绘制第二个子图
plt.title('Cosine')  # 设置图的标题
plt.show()

plt.style.use("seaborn-dark")
plt.figure(figsize=(8, 6), dpi=80)
# 创建一个8x6大小的图像, dpi=80表示分辨率每英尺80点#创建一个1*1的子图
plt.subplot(111)  # 等价于(1,1,1)
X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)
# 绘制一个蓝色的,线宽为1个像素的余弦曲线,设置图例标签Blue,linestyle表示曲线的样式
plt.plot(X, C, color="blue", linewidth=1.0, label="Blue", linestyle="--")
# 绘制一个绿色的,线宽为1个像素的正弦曲线,设置图例标签Blue,linestyle 表示曲线的样式
plt.plot(X, S, color="green", linewidth=1.0, label="Green", linestyle="-.")
plt.legend()  # 显示设置的图例
plt.xlim(-4.0, 4.0)  # 设置x轴范围
plt.xticks(np.linspace(-4, 4, 9, endpoint=True))  # 设置x轴刻度
plt.ylim(-1.0, 1.0)  # 设置y轴范围
plt.yticks(np.linspace(-1, 1, 5, endpoint=True))  # 设置y轴刻度
# plt.savefig("exercice.png".dpi=72) # 保存图像,分辨率为72
plt.show()

plt.figure(dpi=80)
plt.plot(X, C, color="blue", linewidth=3.5, linestyle="--")  # 宽度为3.5的蓝色曲线
plt.plot(X, S, color="red", linewidth=2.5, linestyle="-")  # 宽度为2.5的红色曲线
plt.show()

a = np.random.randint(0, 20, 15)  # 随机生成数据
b = np.random.randint(0, 20, 15)
print(a)
print(b)
# matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None,vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None,*, data=None, **kwargs):绘制散点图。X、y表示xy轴的数据,s表示标量,c表示颜色,marker表示标记样式。
plt.scatter(a, b)  # 绘制散点图
plt.show()

mpl.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文不显示问题
level = ['优秀', '不错', '666']
x = range(len(level))  # 横坐标
y = [1, 3, 2]  # 纵坐标
plt.figure(dpi=100)  # 创建画布
# matplotlib.pyplot.bar(x , height, width=0.8, bottom=None, *, align='center', data=None, **kwargs):绘制柱状图。X:横坐标;height:条形高度;width:每一个条形的宽度,color:每一个条形的颜色。
plt.bar(x, y, width=0.5, color=['b', 'r', 'g'])  # 绘制柱状图
plt.xticks(x, level)  # 修改x轴的刻度显示
plt.grid(linestyle="--", alpha=0.5)  # 添加网格显示
plt.show()

t = np.random.randint(0, 30, 90)
print(t)
plt.figure(dpi=100)
distance = 2  # 设置组距
group_num = int((max(t) - min(t)) / distance)  # 计算组数
# matplotlib.pyplot.hist(x,bins=None,range=None,density=None, weights=None, cumulative=False,bottom=None, histtype='bar , align='mid', orientation='vertical , width=None, log=False, color=None,label=None, stacked=False, normed=None,*, data=None,*kwargs):绘制直方图。X:指定每个bin(箱子)分布的数据,对应×轴; bins:指定 bin(箱子)的个数,也就是总共有几条条状图; normed:指定密度,也就是每个条状图的占比例比,默认为1; color :指定条状图的颜色。
plt.hist(t, facecolor="blue", edgecolor="black", alpha=0.7)  # 绘制直方图
plt.xticks(range(min(t), max(t))[:2])  # 修改x轴刻度显示
plt.grid(linestyle="--", alpha=0.5)  # 添加网格显示
plt.show()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值