from matplotlib import pyplot as plt
import pandas as pd
import numpy as np
import matplotlib
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
matplotlib.style.use('ggplot') # 设置图表风格 这个是R语言常用的风格
# 存储和展示图像
# 绘制六张图一起展示的案例
# 创建画布
fig = plt.figure(figsize=(12, 7))
# --------添加第一个子图--------
sp1 = fig.add_subplot(2, 3, 1)
# 第一个子图的属性调整和绘制
# (1)设置标题
plt.title("第一个子图:散点图")
# (2)x轴和y轴名称
plt.xlabel("x轴标签")
plt.ylabel("y轴标签")
# (3)x轴和y轴的刻度
plt.xticks([1, 2, 3])
plt.yticks(range(2, 9, 2))
# (4)绘制图形
plt.scatter([1, 2, 3], [4, 8, 1], color="g", marker="D", label="point1")
plt.scatter([1, 2, 3], [7, 2, 5], color="r", marker="o", label="point2")
# (5)设置图例
plt.legend(loc=1)
# --------添加第二个子图--------
sp2 = fig.add_subplot(2, 3, 2)
# 第二个子图的属性调整和绘制
# (1)设置标题
plt.title("第二个子图:折线图")
# (2)x轴和y轴名称
plt.xlabel("x轴标签")
plt.ylabel("y轴标签")
# (3)x轴和y轴的刻度
plt.xticks([1, 2, 3])
plt.yticks(range(2, 9, 2))
# (4)绘制图形
plt.plot([1, 2, 3], [4, 8, 1],
color="g", linestyle="--",
marker="D", label="line1")
plt.plot([1, 2, 3], [7, 2, 5],
color="m", linestyle=":",
marker="x", label="line2")
# (5)设置图例
plt.legend(loc=1)
# --------添加第三个子图--------
sp3 = fig.add_subplot(2, 3, 3)
# 第三个子图的属性调整和绘制
# (1)设置标题
plt.title("第三个子图:直方图")
# (2)x轴和y轴名称
plt.xlabel("x轴标签")
plt.ylabel("y轴标签")
# (3)x轴和y轴的刻度
plt.xticks(np.arange(-5, 6))
# (4)绘制图形
plt.hist(np.random.randn(100000), 1000)
# (5)添加注释和箭头
# plt.text(2, 370, '众数')
plt.annotate('众数', xy=(0.0, 360), xytext=(2, 350),
arrowprops=dict(facecolor='black', shrink=0.01))
# --------添加第四个子图--------
sp4 = fig.add_subplot(2, 3, 4)
# 第四个子图的属性调整和绘制
# (1)设置标题
plt.title("第四个子图:条形图")
# (2)x轴和y轴名称
plt.xlabel("城市")
plt.ylabel("人口")
# (3)x轴和y轴的刻度
# (4)绘制图形
plt.bar(["北京", "郑州", "驻马店"], [2000, 1500, 1000])
# --------添加第五个子图--------
sp5 = fig.add_subplot(2, 3, 5)
# 第五个子图的属性调整和绘制
# (1)设置标题
plt.title("第五个子图:饼图")
# (2)x轴和y轴名称
# (3)x轴和y轴的刻度
# (4)绘制图形
plt.pie([2000, 1500, 1000], labels=["北京", "郑州", "驻马店"], autopct="%.2f%%")
# --------添加第六个子图--------
sp6 = fig.add_subplot(2, 3, 6)
# 第六个子图的属性调整和绘制
# (1)设置标题
plt.title("第六个子图:箱线图")
# (2)x轴和y轴名称
plt.xlabel("城市")
plt.ylabel("人口")
# (3)x轴和y轴的刻度
# (4)绘制图形
plt.boxplot([np.random.randn(100), np.random.randn(100), np.random.randn(100)], meanline=True)
# --------统一调整子图间距--------
fig.subplots_adjust(wspace=0.3,hspace=0.5)
# --------保存图片--------
fig.savefig("E:\工作\woquxuexi\文章\sixsixsix.png")
plt.show()