根据数据的不同和我们分析目的的不同,我们可以适用matplotlib绘制出很多图形,但是每个图形都有其特点和应用场景:
上篇博客已经讲述了如何绘制折线图,现在来学习绘制散点图,直方图和条形图
1、散点图
绘制三月份和十月份的温度变化情况
from matplotlib import pyplot as plt
import random
from matplotlib import font_manager
#因为matplotlib不支持中文
#在linux下查看支持的字体命令行:fc-list
#查看有没有中文输入:fc-list:lang=zh
#一般采用font_manager.Fontproporties(fname="中文字体所在的目录下"),windows为c://windows//Fonts
#以下为Windows下设置为中文字体,保证x轴的中文字体能显示出来
myfont= font_manager.FontProperties(fname=r"C:\\WINDOWS\\Fonts\\simsun.ttc", size=14)
#给出x轴和y轴信息,y表示三月份和十月份的温度,因为y是随机产生,所以没有规律,实际上得到的数是有规律的,是一个列表
y_3=[random.randint(20,35) for i in range(31)]
y_10=[random.randint(20,35) for i in range(31)]
x_3=range(1,32)
x_10=range(51,82)
#设置大小
plt.figure(figsize = (20,8), dpi =80)
#绘制图表,使用scatter来绘制散点图,这是和之前折线图的唯一区别
plt.scatter(x_3, y_3, label="三月份")
plt.scatter(x_10, y_10, label="十月份")
#设置x轴刻度,使x轴对应几点几分
_x = list(x_3)+list(x_10)
_xtick_labels= ["3月{}日".format(i) for i in x_3]
_xtick_labels+= ["10月{}日".format(i) for i in x_10]
#需要显示中文的地方一定要加上 fontproperties=myfont
plt.xticks(_x[::3],_xtick_labels[::3],rotation = 45, fontproperties=myfont)
#添加x轴和y轴还有标题信息
plt.xlabel("时间", fontproperties=myfont)
plt.ylabel("温度 单位(℃)", fontproperties=myfont)
plt.title("3月份和十月份的温度变化情况", fontproperties=myfont)
#展示
plt