import matplotlib.pyplot as plt
import numpy as np
将模块导入到脚本中,并更更名字为plt数组
plt.figure(figsize=(8,5), dpi=120)
使用figure()方法建立画布,figsize=(x,y)参数用于设置画布大小,单位为英寸,dpi参数用于设置图片像素spa
matplotlib默认不支持中文和符号和字符code
plt.rcParams['font.sans-serif'] = 'SimHei' plt.rcParams['axes.unicode_minus'] = False
加入上面两行代码,使其可以显示中文和符号blog
准备横轴和纵轴数据(以将来5天北京气温走势为例)图片
x = np.arange(1, 6) y_max = np.array([13, 15, 14, 17, 16]) y_min = np.array([1, 2, 4, 5, 2])
数据通常以数组的形式来表示,这里x指的是横轴上的刻度,y_max和y_min都是纵轴的数据ip
plt.plot(x, y_max, color='r', linestyle=':', linewidth=1.2, marker="*", markersize=7, markerfacecolor='b', markeredgecolor='g') plt.plot(x, y_min, color='b', linestyle='-.', linewidth=1.2, marker="o", markersize=7, markerfacecolor='y', markeredgecolor='r')
使用plot()方法绘制折线图,相关参数有color:线的颜色,linestyle:线型,linewidth:线的宽度,marker:点的形状,markersize:点的大小,markerfacecolor:点的填充颜色,markeredgecolor:点的边缘颜色unicode
plt.title("北京将来5天气温走势图")
使用title()方法为图表增长标题it
plt.xlabel("日期", verticalalignment="top")
使用xlabel()方法设置横轴名称,参数verticalalignment:设置名称的位置io
plt.ylabel("温度(℃)", rotation=0, horizontalalignment="right")
使用ylabel()方法设置纵轴名称,参数horizontalalignment:设置名称的位置,rotation:设置名称的旋转角度class
xticks = ["今天", "周五", "周六", "周日", "周一"] plt.xticks(x, xticks)
使用xticks()方法修改横轴刻度,参数1为原来的刻度,参数2为替换以后的刻度
yticks = np.arange(-6, 34, 3) plt.yticks(yticks)
使用yticks()方法设置纵轴刻度,参数yticks为设置后的刻度
plt.legend(["最高温", "最低温"], loc=2)
增长图例的目的是让人可以更好的分别出每条折线分别表明什么,参数loc用于设置图例的所在位置
for i, j in zip(x, y_max): plt.text(i, j + 1, "%d℃" % j, horizontalalignment="center") for i, j in zip(x, y_min): plt.text(i, j + 1, "%d℃" % j, horizontalalignment="center")
使用text()方法为每个点增长标注,每次只能设置一个点的标注,所以使用循环,参数1为标注位置的横坐标,参数2位标注位置的纵坐标,参数3为标注的内容,horizontalalignment:设置标注的位置
plt.savefig("./将来5天北京气温走势图.png")
使用savefig()方法将绘制出的折线图保存为图片,参数为图片的路径+名字
plt.show()
使用show()方法展现绘制出的图形,不添加任何参数
概念:将值标注成点,并将这些点按照某种特定顺序链接起来造成的图称为折线图
应用场景:数据在一个有序的因变量上的变化,它的特色是反映事物随类别变化的趋势,能够清晰展示数据的增减趋势,增减的速率,增减的规律、峰值等特征
优势:
缺点: