数据可视化
一,简单折线图
from matplotlib import pyplot as plt
fig=plt.figure(figsize=(20,8),dpi=80)
x = range(2, 26, 2)
# 数据在x轴的位置,是一个可迭代对象
y = [15, 13, 14.5, 17, 20, 25, 26, 26, 24, 22, 18, 14]
# 数据在y轴的位置,是一个可迭代对象。x轴和y轴的数据一起组成了所有要绘制出的坐标,
plt.savefig('./sig_size1.png')#保存图片
plt.plot(x, y) # 传入x和y,通过plot绘制出折线图
# plt.xticks(x[::2])#设置刻度
plt.xticks(x)
plt.show()
import random
import matplotlib
from matplotlib import pyplot as plt
from matplotlib import font_manager
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family'] = 'sans-serif'
#楷体KaiTi,微软雅黑Microsoft YaHei
plt.figure(figsize=(20, 8))
x = range(120)
random.seed(10)#设置随机种子,让不同时候的随机结果都一样
y = [random.randint(20, 35) for i in range(120)]
plt.plot(x, y)
_x_tickets = ['10点{}分'.format(i) for i in x if i < 60]
_x_tickets += ['11点{}分'.format(i - 60) for i in x if i > 60]#设置x轴上的字符串的刻度
my_font=font_manager.FontProperties(fname='C:\Windows\Fonts\BRUSHSCI.TTF')#中文
plt.xticks(x[::5], _x_tickets[::5], rotation=0)
# plt.rcParams['font.sans-serif']=['SimHei']
plt.xlabel('时间',fontproperties=my_font)
plt.ylabel('温度',fontproperties=my_font)
plt.title('10点到12点每分钟的温度变化情况',fontproperties=my_font)
plt.show()
import random
import matplotlib
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\simsun.ttc')
x = range(11, 31, 1)
y1 = [1, 2, 5, 3, 4, 2, 1, 0, 0, 3, 9, 1, 2, 0, 3, 1, 2, 1, 2,1]
y2 = [3, 1, 1, 0, 0, 0, 1, 1, 2, 3, 1, 5, 4, 3, 1, 2, 0, 1, 0,2]
_x_tickets = ['{}岁'.format(i) for i in x]
fig = plt.figure(figsize=(20, 8), dpi=80)
plt.xticks(x, _x_tickets, rotation=45, fontproperties=my_font)
plt.plot(x, y1, color='blue', linewidth='3.0', label='自己')
plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--', label='同桌')
# plt.xticks(x[::1])
plt.xlabel('年龄', fontproperties=my_font)
plt.ylabel('个数', fontproperties=my_font)
plt.grid(alpha=0.9)
plt.legend(prop=my_font, loc='best')
plt.title('30岁之前交友数量对比', fontproperties=my_font)
plt.show()