栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Matplotlib

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Matplotlib

文章目录
  • matplotlib
    • 一、常用统计图形的对比
    • 二、绘制折线图、散点图、直方图、条形图
    • 三、加亿点点细节
    • 四、一个完整的例子

matplotlib

导入pyplot:import matplotlib.pyplot as plt

一、常用统计图形的对比
图形主要运用
散点图寻找变量(x,y)的关系,联系、展示离群点
折线图展示变化
条形图统计离散的数据
直方图统计连续的数据
二、绘制折线图、散点图、直方图、条形图

1.折线图:plt.plot(x,y)

2.散点图:plt.scatter(x,y)

3.条形图:plt.bar(x,y,width)

4.横向条形图:plt.barh(x,y,height),width、height表示线条的粗细

5.直方图:plt.hist(data,bins,normed),data:数据,bins:直方图中条形的个数,normed:是否将直方图的频数转换成频率
**组距的选择:**根据实际情况选择,一般分为20组左右
组数的计算:(最大值-最小值)/组距 【最好能被整除,否则会发生偏移】

三、加亿点点细节

1.引用中文字体

from matplotlib import font_manager
plt.rcParams['font.sans-serif'].insert(0,'Microsoft YaHei')#微软雅黑
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

①matplotlib.rc
②font_manager:

from matplotlib import font_manager
my_font=font_manager.FontProperties(fname="")

使用:要显示中文的地方添加fontproperties=my_font,图例中使用prop=my_font

2.figsize 设置图形的大小:fig = plt.figure(figsize=(a, b), dpi=dpi),a 为图形的宽, b 为图形的高,单位为英寸,dpi 为设置图形每英寸的点数(分辨率)
设置矢量图,让图像更清晰: config InlineBackend.figure_format='svg'

3.plt.xticks() 调整x(y)的刻度
①调整间距:传一个参数(包含数字的可迭代对象),步长合适即可
②添加字符串到x(y)轴:传入两个参数,分别是两个可迭代对象,数字和字符串最终会一一对应,只显示字符串
③rotation:设置x(y)轴坐标轴标签的角度

4.在一个图上绘制多个图形: 多次调用plt.plot(),图例:plot(label="标签"),添加图例plot.legend(Loc,prop):Loc表示图例位置

5.设置网格线:plt.grid()

6.图形样式:
①color
②linestyle
③alpah:设置透明度,从0到1
④linewidth:线的宽度

7.添加图形的描述:
①plt.xlabel()
②plt.ylabel()
③plt.title()

8.保存图片plt.savefig(“file_path”): ①plt.savefig(“xx.svg”)(高清) ② plt.savefig(“xx.png”)(压缩图片)

9.matplotlib的使用还可以参考:matplotlib

四、一个完整的例子
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager

#windws和linux设置字体的方法
# font = {'family' : 'MicroSoft YaHei',
#         'weight': 'bold',
#         'size': 'larger'}
# matplotlib.rc("font",**font)
# matplotlib.rc("font",family='MicroSoft YaHei',weight="bold")

#另外一种设置字体的方式
#my_font = font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")

x = range(0,120)
y = [random.randint(20,35) for i in range(120)]

#设置图形大小
plt.figure(figsize=(20,8),dpi=80)

#画出折线图
plt.plot(x,y)

#调整x轴的刻度
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]

#取步长,数字和字符串一一对应,数据的长度一样
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font) #rotaion旋转的度数

#添加描述信息
plt.xlabel("时间")
plt.ylabel("温度 单位(℃)")
plt.title("10点到12点每分钟的气温变化情况")

plt.show()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/329646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号