MatPlotLib常用代码记录
程序员文章站
2022-03-19 15:02:40
...
#设置图片大小(想要一个高清无码大图)
plt.figure(figsize = (20,8),dpi = 80)
#保存到本地
plt.savefig("本地路径")
#描述信息,比如x轴和y轴表示什么,这个图表示什么
plt.xticks(x)
#当刻度太密集的时候使用列表的步长来取值,自动匹配
plt.xticks(x[::2])
#在坐标上显示相应的数据
plt.xticks(['坐标上面显示数据含义' for i in x])
#设置中文字体
from matplotlib import font_manager
font = font_manager.fontproperties(fname='系统字体库下的文件')
plt.plt.xticks(x[::5],标签[::5],rotation = 90,fontproperties = font)
#设置x,y的标注,同理这里我们也可以使用规定中文字体
plt.xlable("时间",fontproperties = font)
#调整x或者y的刻度的间距
#在现实x刻度是中文的情况下,要用如下写法
_x = ["{}age".format(i) for i in range(11,31)]
plt.xticks(range(len(_x)),_x)
#线条的样式(比如颜色,透明度等)
plt.plot(range(len(a)),a,label = "wr",linestyle="-",color="red",alpha=0.5)
#线条的标签(表示在右上角显示标签)
plt.legend(loc="best")
#显示网格
plt. grid()
#总结
绘制了折线图(plt.plot)
设置了图片的大小和分辨率(plt.figure)
实现了图片的保存(plt.savefig)
设置了xy轴上的刻度和字符串(xticks)
解决了刻度稀疏和密集的问题(xticks)
设置了标题,xy轴的lable(title,xlable,ylable)
设置了字体(font_manager. fontProperties,matplotlib.rc)
在一个图上绘制多个图形(plt多次plot即可)
散点图:
#原基础上画线的改为
plt.scatter(x,a,label="3mon")
直方图:
#竖着的
plt.bar(range(len(a)),b)
#横着的
plt.barh(range(len(a)),b)
#在同时画多个直方图的基础上,x坐标要适当向右移动
x_14 = [i for i in range(len(b_14))]
x_15 = [i+0.2 for i in range(len(b_14))]
x_16 = [i+0.4 for i in range(len(b_14))]
#做一个直方图的分组分布,缺点hist只能使用没有处理过的数据
bin_width = 3
num_bins = int(max(a)-min(a)/bin_width)
plt.hist(a,num_bins,density=1) #绘出的数据进行分组,density=1按照频率来绘制
plt.xticks(list(range(min(a),max(a)))[::bin_width])
#利用三个条件来绘制直方图
#width参数可以接受一个数值或者一个数组来确定之直方图的宽度
plt.bar(range(12),quantity,width =[i*2/sum(width) for i in width])
plt.xticks([i-0.5 for i in range(13)],interval+[150])