实现一个简单的Matplotlib画图 — 以折线图为例

  1. import matplotlib.pyplot as plt
  2. import random
  3. # 0.准备x, y坐标的数据
  4. x = range(60)
  5. y_shanghai = [random.uniform(15, 18) for i in x]
  6. # 1.创建画布
  7. plt.figure(figsize=(10, 10), dpi=100)
  8. # 2.绘制折线图
  9. plt.plot(x,y_shanghai)
  10. # 3.显示图像
  11. plt.show()

添加自定义x,y刻度

  1. # 增加以下两行代码
  2. # 构造x轴刻度标签
  3. x_ticks_label = ["11点{}分".format(i) for i in x]
  4. # 构造y轴刻度
  5. y_ticks = range(40)
  6. # 修改x,y轴坐标的刻度显示
  7. plt.xticks(x[::5], x_ticks_label[::5])
  8. plt.yticks(y_ticks[::5])

添加网格显示

  1. plt.grid(True, linestyle='--', alpha=0.5)

添加描述信息

  1. plt.xlabel("时间")
  2. plt.ylabel("温度")
  3. plt.title("中午11点0分到12点之间的温度变化图示", fontsize=20)

图像保存

  1. # 保存图片到指定路径
  2. plt.savefig("test.png")

设置图形风格

颜色字符 风格字符
r 红色 - 实线
g 绿色 - - 虚线
b 蓝色 -. 点划线
w 白色 : 点虚线
c 青色 ‘ ‘ 留空、空格
m 洋红
y 黄色
k 黑色

显示图例

  1. # 绘制折线图
  2. plt.plot(x, y_shanghai, label="上海")
  3. # 使用多次plot可以画多个折线
  4. plt.plot(x, y_beijing, color='r', linestyle='--', label="北京")
  5. # 显示图例
  6. plt.legend(loc="best")

loc可选参数

Location String Location Code
‘best’ 0
‘upper right’ 1
‘upper left’ 2
‘lower left’ 3
‘lower right’ 4
‘right’ 5
‘center left’ 6
‘center right’ 7
‘lower center’ 8
‘upper center’ 9
‘center’ 10
  1. import matplotlib.pyplot as plt
  2. import random
  3. # 0.准备数据
  4. x = range(60)
  5. y_shanghai = [random.uniform(15, 18) for i in x]
  6. y_beijing = [random.uniform(1,3) for i in x]
  7. # 1.创建画布
  8. plt.figure(figsize=(20, 8), dpi=100)
  9. # 2.绘制图像
  10. plt.plot(x, y_shanghai, label="上海")
  11. plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")
  12. # 2.1 添加x,y轴刻度
  13. # 构造x,y轴刻度标签
  14. x_ticks_label = ["11点{}分".format(i) for i in x]
  15. y_ticks = range(40)
  16. # 刻度显示
  17. plt.xticks(x[::5], x_ticks_label[::5])
  18. plt.yticks(y_ticks[::5])
  19. # 2.2 添加网格显示
  20. plt.grid(True, linestyle="--", alpha=0.5)
  21. # 2.3 添加描述信息
  22. plt.xlabel("时间")
  23. plt.ylabel("温度")
  24. plt.title("中午11点--12点某城市温度变化图", fontsize=20)
  25. # 2.4 图像保存
  26. plt.savefig("./test.png")
  27. # 2.5 添加图例
  28. plt.legend(loc=0)
  29. # 3.图像显示
  30. plt.show()

常见图形绘制

  1. # 折线图
  2. # plt.plot(x,y)
  3. # 散点图
  4. # plt.scatter(x,y)
  5. # 柱状图
  6. # plt.bar(x,y,align='center',color='r')
  7. # 直方图
  8. # plt.hist(x,bins=None)
  9. # 饼图
  10. bingx = [10,20,30]
  11. explode = (0,0.1,0)
  12. labels = ['a','b','c']
  13. plt.pie(bingx,explode=explode,labels=labels,autopct='%1.2f%%')
  14. plt.show()