matplotlib的简单使用

冷暖自知 提交于 2020-01-28 11:32:20
 
from matplotlib import pyplot as plt
x = range(2, 26, 2)
# 每两个小时的温度
y = [15, 13, 14, 17, 20, 25, 26, 26, 24, 22,18, 15]

# 绘图
plt.plot(x,y)

# 显示
plt.show()

from matplotlib import pyplot as plt

# 设置图片
fig = plt.figure(figsize=(20,8),dpi=80)

x = range(2, 26, 2)
# 每两个小时的温度
y = [15, 13, 14, 17, 20, 25, 26, 26, 24, 22,18, 15]

# 绘图
plt.plot(x,y)

# 设置x轴的刻度
# plt.xticks(x)
# plt.xticks(range(2, 25))
#plt.xticks(range(2, 25, 0.5))
_xtick_labels = [i/2 for i in range(4,49)]
plt.xticks(_xtick_labels[::3])

# 设置y轴的刻度
plt.yticks(range(min(y), max(y)+1))

# 图片的保存
plt.savefig('./sig_size.png')
# 显示
plt.show()

 

from matplotlib import pyplot as plt
import random
from matplotlib import font_manager

# 设置中文显示
# matplotlib.rc("font",family="Microsoft YaHei",weight="bold")
# matplotlib.rc("font", family="Microsoft YaHei")
my_font = font_manager.FontProperties(family='Microsoft YaHei', weight='normal', size="12")

plt.figure(figsize=(20, 8), dpi=80)
x = range(0, 120)
y = [random.randint(20, 35) for i in range(0, 120)]

plt.plot(x, y, label="温度变化")

# 调整x轴的刻度
_x = list(x)[::3]
_xtick_labels = ["{}分".format(i) for i in _x]
# 取步长,数字和字符串要一一对应
plt.xticks(_x, _xtick_labels, rotation=45, fontProperties=my_font) #rotation旋转的度数
plt.yticks(range(min(y), max(y)+1, 1), fontProperties=my_font)

# 添加x,y轴,图标描述信息
plt.xlabel("时间(分)", fontProperties=my_font)
plt.ylabel("温度(℃)", fontProperties=my_font)
plt.title("两个小时内每分钟的温度变化", fontProperties=my_font)

# 设置显示辅助网格线,透明度0.4
plt.grid(alpha=0.4)

# 添加图例,需先设置lable
plt.legend(loc='upper right', prop=my_font, fontsize=12)  #lower right

plt.savefig('./每分钟的温度折线.png')
plt.show()

 

from matplotlib import pyplot as plt
from matplotlib import font_manager

myfont = font_manager.FontProperties(family="Microsoft YaHei", size=14)
plt.figure(figsize=(20, 8), dpi=80)

x = range(11, 31)
y1 = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
y2 = [1, 0, 3, 1, 2, 2, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1]
_xticks_label = ["{}岁".format(i) for i in range(11, 31)]
plt.xticks(x, _xticks_label, fontproperties=myfont)
plt.yticks(y1, fontproperties=myfont)

plt.xlabel("年龄", fontproperties=myfont, fontsize=18)
plt.ylabel("女朋友(个)", fontproperties=myfont, fontsize=18)
plt.title("11岁到30岁交女朋友的数量走势图", fontproperties=myfont, fontsize=24)

# 设置网格
plt.grid(linestyle=":")

plt.plot(x, y1, label="自己", color="blue")
plt.plot(x, y2, label="同桌", color="red", linestyle="-.")

# 添加图例,需先设置lable
plt.legend(loc='upper right', prop=myfont, fontsize=12)  #lower right

plt.show()

# 假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温,那么此时如何寻找到气温随时间变化的某种规律
from matplotlib import pyplot as plt
from matplotlib import font_manager

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]
x_3 = range(1, 32)
x_10 = range(41, 72)

# 设置中文显示
my_font = font_manager.FontProperties("Microsoft YaHei")

# 设置图形大小
plt.figure(figsize=(20, 8), dpi=80)

# 设置x轴刻度
_x = list(x_3)+list(x_10)
_xtick_labels = ["3月{}日".format(i) for i in range(1, 32)] + ["10月{}日".format(i) for i in range(1, 32)]
plt.xticks(_x[::3], _xtick_labels[::3], fontproperties=my_font, rotation=45)

# 设置y轴刻度
plt.yticks(range(min(list(y_3)+list(y_10)), max(list(y_3)+list(y_10))))

# 绘制
plt.scatter(x_3, y_3, label="3月份")
plt.scatter(x_10, y_10, label="10月份")

# 添加描述信息
plt.xlabel("时间", fontproperties=my_font)
plt.ylabel("温度", fontproperties=my_font)
plt.title("3月和10月每天的温度变化", fontproperties=my_font)

# 添加图例
plt.legend(prop=my_font)

# 展示
plt.show()

 

# 假设你获取到了2017年内地电影票房前20的电影和电影票房数据,那么如何更加直观的展示该数据?
from matplotlib import pyplot as plt
from matplotlib import font_manager

a = ["战狼2", "速度与激情8", "功夫瑜伽", "西游伏妖篇", "变形金刚5:最后的骑士", "摔跤吧!爸爸",
     "加勒比海盗5:死无对证", "金刚:骷髅岛", "极限特工:中级回归", "生化危机6:终章", "乘风破浪",
     "神偷奶爸3", "智取威虎山", "大闹天竺", "金刚狼3:殊死一战", "蜘蛛侠:英雄归来", "悟空传", "银河护卫队2",
     "情圣", "新木乃伊"]
b = [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]# 单位:亿

# 设置中文显示
my_font = font_manager.FontProperties("Microsoft YaHei")

# 设置图形大小
plt.figure(figsize=(20, 8), dpi=80)

# 设置轴刻度
plt.xticks(range(int(min(b)), int(max(b)), 2), fontproperties=my_font)
plt.yticks(range(len(a)), a, fontproperties=my_font)


# 显示网格
plt.grid(alpha=0.3)

# 绘制
plt.barh(range(len(a)), b, height=0.3)

# 添加辅助信息
plt.xlabel("票房(单位:亿)", fontproperties=my_font)
plt.ylabel("电影名称", fontproperties=my_font)
plt.title("2017年电影票房数据", fontproperties=my_font)

# 展示
plt.show()

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!