2003031107-何虎成-Python数据分析第四周作业-matplotlib

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

 

题目一  扩展阅读,心得体会。

1、*扩展阅读:matplotlib常用设置

心得:

Figure对象
可看成是一个画布。有了画布之后,才能在上面画各种图。

Axes对象
即想画的图。那么这个图肯定要包含许多信息,比如曲线,坐标轴,标题,图例,注释等。这些就是Axes对象包含的属性,它们也是各种对象。比如Line2D,XAxis,YAxis

Matplotlib交互模式、阻塞模式
可以开启多窗口模式
在交互模式下,plt.plot()就可显示图像,不需要plt.show()(plt.draw()可以用来刷新图像)
阻塞模式下,只能打开一个窗口,关掉了才能打开另一个
一般matplotlib默认是开启交互模式的(plt.ioff()关闭)
shell中一般是阻塞模式

2、*扩展阅读:matplotlib进阶设置

心得:

通过学习这篇文章,我了解了matplotlib的图形结构和matplotlib的画图流程

1. matplotlib.rcParams属性字典,想要它正常工作,在matplotlibrc配置文件中需要设置text.markup = "tex"。

2. 如果你希望图表中所有的文字(包括坐标轴刻度标记)都是LaTeX'd,需要在matplotlibrc中设置text.usetex = True。

 

 

题目二:

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 
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]
 #设置画布
plt.figure(figsize=(15,8),dpi = 80)
plt.plot(x,y)
plt.title("男女朋友的数量趋势")#设置标题
#设置x与y的刻度
xticks_label = ["{}岁".format(i) for i in x]
yticks_label = ["{}个".format(i) for i in y] 
plt.xticks(x,xticks_label)
plt.yticks(y,yticks_label)
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
#设置显示中文
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(15,8),dpi=60)
x=range(1,11)
y1=[20,50,30,5,10,55,23,33,41,22]
y2=[5,10,32,18,20,22,36,63,82,71]
x_ticks=["{}日".format(i) for i in x]
y_ticks=[range(80)]
plt.plot(x,y1,label="七月")
plt.plot(x,y2,label="八月")
plt.xlabel("日期")
plt.ylabel("销售量")
plt.title("七月、八月上旬1-10日每天店铺产品销量")
plt.legend(['七月','八月'])
plt.xticks(x[::1],x_ticks[::1])
plt.grid()
plt.show()

 

运行结果:

 

posted @ 2022-03-30 16:47  何虎成  阅读(38)  评论(0)    收藏  举报