matplotlib

自学整理记录,大神见笑

from matplotlib import pyplot as plt

  • 常用统计图
    1.折线图,主要查看变化
    2.直方图,绘制连续型数据,主要是统计
    3.条形图,绘制离散型数据,主要是统计
    4.散点图,主要查看分布规律

折线图

  • 提供数据,指定x横轴的值,指定y纵轴的值

x = range(2, 26, 2)
y = [15, 13, 14.5, 17, 20, 25, 26, 26, 24, 22, 18, 15]

  • 绘图,传入x和y,通过plot绘制出折线图

plt.plot(x, y)

  • 展示图在执行程序的时候展示图形

plt.show()

  • 注:x和y的列表个数要相同,否则会报错ValueError

折线图扩展

  • 设置图片大小和像素

plt.figure(figsize=(20, 8), dpi=80)

  • 注:要写在绘图之前

  • 注:figsize两个参数分别表示长度和宽度

  • 注:dpi是让图像更清晰

  • 保存图片

plt.savefig("./test1.png")

  • 注:要写在绘图之后

  • 注:参数是保存的路径

  • 注:自己加后缀保存成自己想要的格式,比如保存为svg矢量图格式,放大不会有锯齿

  • 轴刻度

plt.xticks(range(2, 26, 2))
plt.yticks(range(min(y) + 1, max(y) + 1))

  • 注:上面代码分别为设置x轴刻度和y轴刻度

  • 调整轴刻度显示信息(包含显示内容、中文乱码)

my_font = font_manager.FontProperties(fname="C:\Windows\ttt\simsun.ttc", size=14)
# 调整x轴刻度信息
_x = list(x)
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
plt.xticks(_x[::3], _xtick_labels[::3], rotation=45, fontproperties=my_font)

  • 注:需要导包

from matplotlib import font_manager

  • 注:rotation表示旋转角度,顺时针旋转

  • 注:fontproperties正常显示中文字体

  • 注:fename后面的路径一定要手动输入

  • 注:可以在FontProperties中的参数size设置字体大小

  • 注:y轴同理

  • x轴、y轴和标题的提示信息

plt.xlabel("时间", fontproperties=my_font)
plt.ylabel("时间/温度(℃)", fontproperties=my_font)
plt.title("10点到12点每分钟温度变化图", fontproperties=my_font)

  • 注:xlabel即x轴信息,ylabel即y轴信息,title即标题

  • 注:如果中文乱码,则在后面添加参数fontproperties即可

  • 绘制网格

plt.grid(alpha=0.4)

  • 注:alpha表示网格透明度,0透明,1不透明

  • 注:网格的密度,由x轴和y轴刻度控制

  • 绘制多个线条

plt.plot(x, y_1)
plt.plot(x, y_2)

  • 注:再plot一次就会画出多一条线

  • 添加图例

plt.plot(x, y_1, label="自己")
plt.plot(x, y_2, label="同桌")
...
plt.legend(prop=my_font, loc="upper right")

  • 注:两个步骤,首先在plot方法中添加参数label,然后写添加图例方法legeng()

  • 注:legend中prop参数是解决中文乱码

  • 注:legend中loc参数是图例放的位置,默认是best,系统会放在最合适的位置,自己可以写英文或者汉字,查原码即可

  • 线条样式(颜色、线条风格,线条宽度等)

plt.plot(x, y_1,color="r", linestyle="--", linewidth=5)

  • 注:color参数可以填颜色字符,或者十六进制颜色代码都可以
  • 注:linestyle参数可以改变线条风格
  • 注:linewidth参数越大越粗
线条风格.jpg
  • 添加文本注释

  • 添加水印

散点图

  • 绘图,传入x和y,通过scatter绘制出散点图

plt.scatter(x, y)

  • 注:x和y的列表个数要相同,否则会报错ValueError
  • 注: 散点图扩展与折线图一样

条形图

  • 绘图,传入x和y,通过bar绘制出条形图

plt.bar(x, y)

  • 注:默认会竖着显示

条形图扩展

  • 横着显示

plt.barh(x, y)

  • 条形宽度

plt.bar(x, y, width=0.3)
plt.barh(x, y, height=0.3)

  • 注:竖着使用width,横着使用height
  • 注:其余扩展与折线图类似
  • 注:绘制多次条形图,即将x轴向右移动即可,但移动的距离,次数总和不能超过1,且宽度要合适,如下图
绘制多次条形图.jpg

直方图

  • 绘图,传入a和组数20,通过hist绘制出直方图

plt.hist(a, 20)

  • 注:a参数是原始数据,20参数是组数,即有多少个直方
  • 注:直方图会自己计算数据出现的个数,显示在图上,所以需要原始数据,不能用统计好之后的数据
  • 注:如果是统计好的数据,依然想绘制成直方图的样式,使用条形图即可
  • 注:使用条形图时画出直方图效果,需要将width设置为1,并且x轴刻度向左移动0.5即可

直方图扩展

  • 计算组数

d = 5
num_bins = (max(a) - min(a)) // d
...
plt.hist(a, num_bins)
plt.xticks(range(min(a), max(a)+d, d))

  • 注:num_bins即组数,d为组距

  • 注:最大值与最小值的差除组距,一定要保证整除,否则x轴显示会偏移

  • 注:xticks方法中,max+d保证值都能显示完全

  • 频率分布直方图

plt.hist(a, num_bins, normed=True)

  • 注:正常y轴会显示出现的区域内出现的个数
  • 注:normed设置为True,即会将y轴显示为小数格式的频率
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容