Python数据分析-Matplotlib1

一、折线图的绘制

1.数据分析流程

2.运用Matplot绘制折线图

#encoding=utf-8
import random
from matplotlib import pyplot as plt #绘图工具库
from matplotlib import font_manager #解决中文显示问题
from cProfile import label
#设置字体方式
my_font = font_manager.FontProperties(fname=r"c:\windows\fonts\simsun.ttc",size = 14)
#设置图片的宽高figsize,以及分辨度dpi
plt.figure(figsize=(20,8),dpi = 80)

x = range(0,120)#设置坐标x的值
y_1 = [random.randint(20,35) for i in range(0,120)]#设置坐标y的值
y_2 = [random.randint(20,35) for i in range(0,120)]


_x_ticks = ["10点{}分".format(i) for i in x if i < 60]
_x_ticks = ["11点{}分".format(i-60) for i in x if i > 60]
#fontproperties=my_font用于设置显示中文字体,rotation表示顺时针旋转的度数
plt.xticks(x[::5],_x_ticks[::2],rotation=90,fontproperties=my_font)#x轴的刻度表示
plt.xlabel("时间",fontproperties=my_font)#x轴的标签
plt.ylabel("温度 单位(0c)",fontproperties=my_font)#y轴的标签
plt.title("10点到12点每分钟的气温变化情况",fontproperties=my_font)
#绘制网格,alpha:透明度
plt.grid(alpha = 0.4)
#绘图(plot:绘图),color:线条颜色,linestyle:线条风格,linewidth:线条粗细
plt.plot(x,y_1,label="温度1",linestyle=":")
plt.plot(x,y_2,label="温度2",linestyle="-.")
#添加图例,loc默认为右上角
plt.legend(prop=my_font,loc = "upper right")
#显示
plt.show()from matplotlib import font_manager #解决中文显示问题
from cProfile import label
#设置字体方式
my_font = font_manager.FontProperties(fname=r"c:\windows\fonts\simsun.ttc",size = 14)
#设置图片的宽高figsize,以及分辨度dpi
plt.figure(figsize=(20,8),dpi = 80)

x = range(0,120)#设置坐标x的值
y_1 = [random.randint(20,35) for i in range(0,120)]#设置坐标y的值
y_2 = [random.randint(20,35) for i in range(0,120)]


_x_ticks = ["10点{}分".format(i) for i in x if i < 60]
_x_ticks = ["11点{}分".format(i-60) for i in x if i > 60]
#fontproperties=my_font用于设置显示中文字体,rotation表示顺时针旋转的度数
plt.xticks(x[::5],_x_ticks[::2],rotation=90,fontproperties=my_font)#x轴的刻度表示
plt.xlabel("时间",fontproperties=my_font)#x轴的标签
plt.ylabel("温度 单位(0c)",fontproperties=my_font)#y轴的标签
plt.title("10点到12点每分钟的气温变化情况",fontproperties=my_font)
#绘制网格,alpha:透明度
plt.grid(alpha = 0.4)
#绘图(plot:绘图),color:线条颜色,linestyle:线条风格,linewidth:线条粗细
plt.plot(x,y_1,label="温度1",linestyle=":")
plt.plot(x,y_2,label="温度2",linestyle="-.")
#添加图例,loc默认为右上角
plt.legend(prop=my_font,loc = "upper right")
#显示
plt.show()

3.画图结果展示

二、散点图的绘制

1.运用Matplotlib中的scatter绘制离散图

#encoding=utf-8
from matplotlib import pyplot as plt
from matplotlib import font_manager
from matplotlib.font_manager import FontProperties
my_font = font_manager.FontProperties(fname = r"c:\windows\fonts\simsun.ttc",size=14)
x_3 = range(1,32)
x_10 = range(51,82)
y_3 = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
y_10 = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]

#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
#使用scatter方法绘制散点图,和之前的折线图唯一的区别,显示散点图
plt.scatter(x_3,y_3,label="三月份")
plt.scatter(x_10,y_10,label="十月份")
#调整x轴的刻度
_x = list(x_3)+list(x_10)
_xtick_labels = ["3月{}日".format(i) for i in x_3]
_xtick_labels += ["10月{}日".format(i-50) for i in x_10]
plt.xticks(_x[::3],_xtick_labels[::3],rotation = 45, fontproperties = my_font)
#添加图例
plt.legend(prop=my_font,loc="upper right")
#添加描述信息
plt.xlabel("时间",fontproperties = my_font)
plt.ylabel("温度",fontproperties = my_font)
plt.title("标题",fontproperties = my_font)
plt.show()

2.代码运行效果:

三、条形图绘制

1.使用Matplotlib中的bar绘制条形图:

#encoding=utf-8
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname=r"c:\windows\fonts\simsun.ttc",size=14)
x = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","生化危机6:终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:殊死一战","蜘蛛侠:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊",]
y = [56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]
#设置图形大小
plt.figure(figsize=(20,15),dpi = 80)
#绘制条形图,横向
#plt.bar(range(len(x)),y,width = 0.3)
#绘制条形图,纵向
plt.barh(range(len(x)),y,height = 0.3,color="orange")
#刻度
plt.yticks(range(len(x)),x,fontproperties=my_font)
plt.grid(alpha=0.3)
#保存
plt.savefig("./movie.png")
plt.show()

2.结果显示为:

猜你喜欢

转载自blog.csdn.net/poyue8754/article/details/80522968