文章目录
制作折线图并且保存至桌面
import matplotlib.pyplot as plt
import numpy as np
#没有以下两句,就不会显示中文,识别不出来
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.subplot(1,1,1)
x=np.array([1,2,3,4,5,6,7,8,9])
y=np.array([886,2335,5710,6482,6120,1605,3813,4428,4361])
plt.plot(x,y,color='k',linestyle='dashdot',linewidth=1,marker='o',markersize=5,label='1-9月注册用户数') #绘图
plt.title('1-9月用户注册量',loc='center')#设置标题,标题名及标题的位置
plt.grid(True)#设置网格线
plt.legend()#设置图例,调用显示出plot中的lable值
for a,b in zip(x,y):
plt.text(a,b,b,ha='center',va='bottom',fontsize=10)
#添加数据标签,数据标签的位置,文字大小,注意第二个b表示显示y值
plt.savefig(r'D:\Users\ctrip\Desktop\plot.jpg') #保存图表至桌面
运行上面代码就会输出图表并且保存至桌面喽~
柱状图
#柱状图
#plt.bar(x,y,height,width=0.8,bottom=None,align='center',color,edgecolor)
#height:表示每根柱子的高度
#width:表示每根柱子的宽度,可以一样 也可以不一样
#bottom:表示每根柱子的底部位置,每根柱子的底部位置可以都一样,也可以不同
#align:表示柱子的位置与x值的关系,有center,edge两个参数可选;
#color:柱子颜色
#edgecolor:柱子边缘的颜色
import matplotlib.pyplot as plt
import numpy as np
#没有以下两句,就不会显示中文,识别不出来
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.subplot(1,1,1)
x=np.array(['东区','西区','南区','北区'])
y=np.array([8566,6482,5335,7310])
plt.bar(x,y,width=0.5,align='center',label='任务量555',color='m')#柱状图
plt.title('全国各分区任务量',loc='center')#标题
for a,b in zip(x,y):
plt.text(a,b,b,ha='center',va='bottom',fontsize=12)#数据标签
plt.xlabel('分区')#轴名称
plt.ylabel('任务量222')
plt.legend()#图例
plt.savefig(r'D:\Users\ctrip\Desktop\图表\bar.jpg')#保存图片
簇状条形图
#制作簇状条形图:注意第二个y的x在做条形图以及添加数据标签时,都需要增加1个y的宽度
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.subplot(1,1,1)
x=np.array([1,2,3,4])
y1=np.array([8566,5335,7310,6482])
y2=np.array([4283,2667,3655,3241])
plt.bar(x,y1,width=0.3,label='任务量5555') #y1正常
plt.bar(x+0.3,y2,width=0.3,label='完成量5555')#y2的x在原来基础上+y1的宽度
plt.title("完成情况",loc='center')
plt.xlabel('区域')
plt.ylabel('任务情况')
for a,b in zip(x,y1):
plt.text(a,b,b,ha='center',va='bottom',fontsize=12)
for a,b in zip(x+0.3,y2):
plt.text(a,b,b,ha='center',va='bottom',fontsize=12) #y2的x在原来基础上+y1的宽度
plt.xticks(x+0.15,['东区','西区','南区','北区']) #重新编辑x轴的刻度,注意每相隔了3个y的宽度
plt.grid(False)
plt.legend()
plt.savefig(r'D:\Users\ctrip\Desktop\图表\bar2.jpg')
堆积柱形图
#制作堆积柱形图
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.subplot(1,1,1)
x=np.array(['东区','西区','南区','北区'])
y1=np.array(['8856,6584,5335,7310'])
y2=np.array(['4283,3241,2667,3555'])
plt.bar(x,y1,width=0.5,label='任务量',align="center")
plt.bar(x,y2,width=0.5,label='完成量',bottom=y1,align="center")
for a,b in zip(x,y1):
plt.text(a,b,b,ha='center',va='bottom',fontsize=13)
for a,b in zip(x,y2):
plt.text(a,b,b,ha='center',va='bottom',fontsize=13)
plt.title("完成情况",loc='center')
plt.xlabel("区域")
plt.ylabel("任务情况")
plt.grid(False)
plt.legend(loc='upper center',ncol=2)
plt.savefig(r'D:\Users\ctrip\Desktop\图表\bar堆积图.jpg')
堆积图
#堆积图
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
x = [1, 2, 3, 4, 5]
y = [6, 10, 4, 5, 1]
y1 = [2, 6, 3, 8, 5]
plt.bar(x, y, align="center", color="#66c2a5", tick_label=["A", "B", "C", "D", "E"], label="班级A")
plt.bar(x, y1, align="center", bottom=y, color="#8da0cb", label="班级B")
plt.xlabel("测试难度")
plt.ylabel("试卷份数")
plt.legend()
plt.show()