2003031119—李勇—Python数据分析第四周作业—matplotlib的学习

项目 内容
课程班级博客链接 20级数据班(本)
这个作业要求链接  python数据分析第四周作业要求
博客名称 2003031119—李勇—Python数据分析第四周作业—matplotlib的学习
要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)

 

 

 

 

 

 

题目一:扩展阅读,撰写学习心得。

1.扩展阅读:matplotlib常用设置

心得:这篇文章介绍了一些关于matplotlib的操作和运用。设置图像大小时 ,当已经存在对象时,学到了新的代码来改变图像的大小(f.set_figheight(15)      f.set_figwidth(15) )。在标注的时候

若出现重叠现象,在重叠的两者之间添加一个刻度,使其不显示就可。增加x轴与y轴的间隔,只要x轴的标注向右移动一些。移动刻度标注时,可通过设置 set_horizontalalignment()来控制标注的

左右位置,控制刻度标注的上下位置也可以用labelpad参数进行设置。学习了图像以及图像中的一些操作:设置子图标题,图像中的空白部分。

 

2.扩展阅读:matplotlib进阶设置

心得:通过阅读学习这篇文章,我学会了一些关于maplotlib的一些技巧操作。如果不想每次使用matplotlib时都在代码部分进行配置,可以修改matplotlib的文件参数。可以用matplot.get_config()

命令来找到当前用户的配置文件目录。学习了如何显示中文,关于线条的标记,以及颜色的设置。在图中给特殊点做标记,首先,我们在对应的函数图像位置上画一个点;然后,向横轴引一条垂线,

以虚线标记;最后,写上标签。

 

题目二:

1.课上例题,男女朋友的数量。

  • 假设大家在30岁的时候,根据自己的实际情况,统计出来了从11岁到30岁每年交的女(男)朋友的数量如列表a,请绘制出该数据的折线图,以便分析自己每年交女(男)朋友的数量走势
  • a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
  • 要求: y轴表示个数 x轴表示岁数,比如11岁,12岁等

代码:

#引入模块
from matplotlib import pyplot as plt
#配置中文
plt.rcParams["font.sans-serif"]='SimHei'
plt.rcParams["axes.unicode_minus"]=False
#设置画布大小
plt.figure(figsize=(15,8),dpi=100)
#引入x,y的值
x=range(11,31)
y=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
#设置x,y轴的范围
_x_ticks=["{}岁".format(i) for i in x]
_y_ticks=[range(10)]
plt.xticks(x[::1],_x_ticks[::1])

plt.plot(x,y)
plt.xlabel("年龄")
plt.ylabel("")
plt.title("11岁到30岁之间每年交往的男(女)友数")

plt.show()

 

 2.销量统计

  • 假如需要统计量一家店铺七月、八月上旬1-10日每天店铺产品销量个数,并进行销量趋势对比
  • 七月销量:[20,50,30,5,10,55,23,33,41,22]
  • 八月销量:[5,10,32,18,20,22,36,63,82,71]
from matplotlib import pyplot as plt
from matplotlib import font_manager

# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.serif'] = ['SimHei']

# 设置字体
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")

# 设置画布大小
plt.figure(figsize=(20, 10), dpi=80)

x = range(1, 11)
y_1 = [20, 50, 30, 5, 10, 55, 23, 33, 41, 22]
y_2 = [5, 10, 32, 18, 20, 22, 36, 63, 82, 71]

plt.plot(x, y_1, label="7月")
plt.plot(x, y_2, label="8月")
_x = x
_xtick_labels = ["{}日".format(i) for i in _x]
plt.xticks(x, _xtick_labels, fontproperties=my_font)

plt.title("1号到10号店铺产品销量情况", fontproperties=my_font)

plt.legend(prop=my_font, loc="best")

# 绘制网格
plt.grid(alpha=0.5)

plt.show()

 

posted @ 2022-03-31 21:23  LiYong~  阅读(37)  评论(0)    收藏  举报