人工智能学习笔记03——matplotlib常用统计图

                                                绘制散点图

1 假设通过爬虫,获取到西安2019年3月份和10月份每天白天的最高的气温,分别是列表a和列表b,那么此时如何寻找气温随时间变换的某种规律?

a = [12,7,13,13,17,17,14,12,19,12,17,19,14,20,20,22,21,24,22,25,11,14,18,19,23,24,21,26,24,19,20]
b = [22,28,22,20,16,12,20,17,14,18,19,20,22,20,10,17,18,19,19,16,13,15,21,9,13,16,20,22,19,23,14]

数据来源:http://lishi.tianqi.com/xian/201910.html

代码如下

#!/usr/bin/python
# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname = 'C:\Windows\Fonts\msyh.ttc')
y_3 = [12,7,13,13,17,17,14,12,19,12,17,19,14,20,20,22,21,24,22,25,11,14,18,19,23,24,21,26,24,19,20]
y_10 = [22,28,22,20,16,12,20,17,14,18,19,20,22,20,10,17,18,19,19,16,13,15,21,9,13,16,20,22,19,23,14]
x_3 = range(1,32)
x_10 = range(51,82)
#设置图片大小
plt.figure(figsize=(16,8),dpi=80)
plt.scatter(x_3,y_3,label = u"三月份")
plt.scatter(x_10,y_10,label = u"十月份")

#调整x轴的刻度
_x = list(x_3)+list(x_10)
_xtick_labels = [u"3月{}日".format(i) for i in x_3]
_xtick_labels += [u"10月{}日".format(i-50) for i in x_10]
plt.xticks(_x[::3],_xtick_labels[::3],fontproperties = my_font,rotation = 45)
#添加描述信息
plt.xlabel(u"时间",fontproperties = my_font)
plt.ylabel(u"温度/℃",fontproperties = my_font)
plt.title(u"西安3月和10月份,每日最高气温变化散点图",fontproperties = my_font)

#添加图例
plt.legend(prop = my_font,loc = "upper left")
#展示
plt.show()

效果图展示

                                             绘制条形图

2  2019年内地电影票房排行前十的电影和票房数分别是列表a和列表b,如何直观的展示这些数据?

    

a = [u"哪吒之魔童降世",u"流浪地球",u"复仇者联盟4:终局之战",u"我和我的祖国",
     u"中国机长",u"疯狂的外星人",u"飞驰人生",u"烈火英雄",u"少年的你",u"速度与激情:特别行动"]
b = [49.34,46.18,42.05,31.46,28.84,21.83,17.03,16.76,15.32,14.18]

数据来源:http://58921.com/alltime/2019

#!/usr/bin/python
# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname = 'C:\Windows\Fonts\msyh.ttc')

a = [u"哪吒之魔童降世",u"流浪地球",u"复仇者联盟4:终局之战",u"我和我的祖国",
     u"中国机长",u"疯狂的外星人",u"飞驰人生",u"烈火英雄",u"少年的你",u"速度与激情:特别行动"]
b = [49.34,46.18,42.05,31.46,28.84,21.83,17.03,16.76,15.32,14.18]
#设置图形的大小
plt.figure(figsize=(16,8),dpi = 80)
#绘制条形图
plt.bar(range(len(a)),b,width = 0.3)
#设置字符串到x轴
plt.xticks(range(len(a)),a,fontproperties = my_font,rotation = 45)
#添加描述信息
plt.xlabel(u"电影名称",fontproperties = my_font)
plt.ylabel(u"票房数/单位:亿",fontproperties = my_font)
#设置标题
plt.title(u"2019年内地电影票房排行榜",fontproperties = my_font)
#展示
plt.show()

效果图展示:

绘制横向条形图

#!/usr/bin/python
# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname = 'C:\Windows\Fonts\msyh.ttc')

a = [u"哪吒之魔童降世",u"流浪地球",u"复仇者联盟4:终局之战",u"我和我的祖国",
     u"中国机长",u"疯狂的外星人",u"飞驰人生",u"烈火英雄",u"少年的你",u"速度与激情:特别行动"]
b = [49.34,46.18,42.05,31.46,28.84,21.83,17.03,16.76,15.32,14.18]
#设置图形的大小
plt.figure(figsize=(16,8),dpi = 80)
#绘制条形图
plt.barh(range(len(a)),b,height = 0.3,color = "orange")
#设置字符串到x轴
plt.yticks(range(len(a)),a,fontproperties = my_font)
#添加描述信息
plt.ylabel(u"电影名称",fontproperties = my_font)
plt.xlabel(u"票房数/单位:亿",fontproperties = my_font)
#设置标题
plt.title(u"2019年内地电影票房排行榜",fontproperties = my_font)
#设置网格线
plt.grid(alpha=0.4)
#展示
plt.show()

效果图展示

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

www.365codemall.com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值