数据分析第二讲 matplotlib折线图、绘制图形

文章目录3、完善图形 4、设置中文调整x轴的刻度5、练习 6、图片加水印7、绘制图形7.1 折线图:以折线的上升或下降来表示统计数量的增减变化的统计图7.2 直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据范围,纵轴表示分布情况7.3 :排列在工作表的列或行中的数据可以绘制到条形图中7.4 散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联,或总结坐标点的分布模式8、总结
数据分析第二讲 折线图
1、介绍2、简单使用 2.1 安装:pip3
2.2 写代码
# 创建数字1到5的列表:# 使用list(range(1,6)print(list(range(1, 6)))# [1, 2, 3, 4, 5]print([i for i in range(1, 6)])# [1, 2, 3, 4, 5]# 列表推导式# 假设一天中每隔两个小时的气温分别是24 [2, 4, 6, 8,..., 24]# [15,13,14.5,17,20,25,26,26,27,22,18,15]# pip3 install matplotlib安装matplotlib库# as 别名from matplotlib import pyplot as pltx = range(2, 26, 2)y = [15, 13, 14.5, 17, 20, 25, 26, 26, 27, 22, 18, 15]# x轴 y轴plot x and y using default line style and colorplt.plot(x, y)# 折线图plt.plot(x, y, 'bo')# 散点图plt.show()
2.3 运行代码,得到折线图
3、完善图形 3.1完善图形
_x = [i/2 for i in range(4, 49)] # 可以得到半个小时的刻度
plt.(_x)
# 假设一天中每隔两个小时的气温分别是24 [2, 4, 6, 8,..., 24]# [15,13,14.5,17,20,25,26,26,27,22,18,15]from matplotlib import pyplot as pltimport numpy as npimport matplotlibimport matplotlib.image as imagefont = {'family': 'SimHei','weight': 'bold','size': 12}matplotlib.rc("font", **font)x = range(2, 26, 2)y = [15, 13, 14.5, 17, 20, 25, 26, 26, 27, 22, 18, 15]y = np.array(y)# print(y)# [15.13.14.5 17.20.25.26.26.27.22.18.15. ]max_index = np.argmax(y)# max value index# print(max_index)# 8min_index = np.argmin(y)# min value index# print(min_index)# 1# 设置图片大小figsize宽 高dpi 图片的清晰度 max 100fig = plt.figure(figsize=(20, 10), dpi=85)# 设置x轴和y轴描述信息plt.xlabel('time/时间')plt.ylabel('temp/温度')# x轴 y轴plot x and y using default line style and colorplt.plot(x, y)# 折线图plt.plot(x, y, 'bo')# 散点图plt.plot(x[max_index], y[max_index], 'ks')show_max = '[' + str(x[max_index]) + ',' + str(y[max_index]) + ']'plt.annotate(show_max,xy=(x[max_index], y[max_index]))plt.plot(x[min_index], y[min_index], 'gs')show_min = '[' + str(x[min_index]) + ',' + str(y[min_index]) + ']'plt.annotate(show_min, xy=(x[min_index], y[min_index]))# _x = range(2, 25)# range函数的步进必须是int类型,得不到半个小时的刻度,用列表推导式_x = [i / 2 for i in range(0, 49)]# 可以得到半个小时的刻度plt.xticks(_x)# 设置titleplt.title("当日气温变化图")# 加水印datafile = 'yangyu.jpg'im = image.imread(datafile)fig.figimage(im)# 保存图片plt.savefig('./matp.png')plt.show()
4、设置中文调整x轴的刻度
_x = list(x)[::10]
= [“hello,{}”.(i) for i in _x]
plt.(_x,)

数据分析第二讲 matplotlib折线图、绘制图形

文章插图
5、练习 练习1
如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况
a = [.(20,35) for i in range(120)]
# 如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况# a = [random.randint(20, 35) for i in range(120)]import randomfrom matplotlib import pyplot as pltimport matplotlib# ttc 不支持ttf的字体才可以font = {'family':'SimHei','weight':'bold','size':12}matplotlib.rc("font", **font)x = range(0, 120)y = [random.randint(20, 35) for i in range(120)]# 设置图形大小plt.figure(figsize=(15, 8), dpi=80)# 图像titleplt.title("10点到12点每分钟的时间变化情况")# 设置title# 描述信息plt.xlabel("时间")# 设置x轴的lableplt.ylabel("温度")# 设置y轴的lable_x = range(0, 120, 10)_xtick_lable = ["10点{}分".format(i) for i in range(60)]_xtick_lable += ["11点{}分".format(i) for i in range(60)]# 设置x轴刻度print(_xtick_lable)plt.xticks(_x, _xtick_lable[::10], rotation=45)# 旋转45度plt.plot(x, y)plt.show()# 另一种修改字体的方法'''from matplotlib.font_manager import FontProperties# 把字体注册到matplotlib字体库font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=90, fontproperties=font)plt.xticks(_x, _xtick_lable[::10], fontproperties=font, rotation=45)# 旋转45度'''