python对数据统计特别友好,原生库即有相关支持:matplotlib

1.环境配置sudo pip install matplotlib

安装完成后需要调整下配置文件(mac可跳过),原因:python解释器各个平台版本都有,理论上会cover大多数底层接口,所以看起来“跨平台”。但是部分与绘图/进程/系统内核等相关功能,不同系统间差异较大,python尚未全cover。比如我们matplotlib在不同系统上兼容性就有点问题,所以需要通过配置文件来获得“跨平台”的效果。针对matplotlib有合适的egg包可以解决,修改配置文件让egg包生效即可。where is matlotlibrc

即可获得配置文件路径(windows请全盘搜索),打开文件把backend改为以下Agg:# The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo

# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG

# Template.

# You can also deploy your own backend outside of matplotlib by

# referring to the module name (which must be in the PYTHONPATH) as

# ‘module://my_backend’.

backend : Agg

2.hello world# coding:utf-8

import matplotlib

matplotlib.use('Agg')

import matplotlib.pyplot as plt

import numpy as np

import os

plt.rcParams['font.sans-serif']=['SimHei']

plt.rcParams['axes.unicode_minus']=False

plt.plot( [12,34,56,78,90])#输入一个成员都是数字的数组

plt.savefig('tmp.png')#保存为图片

plt.close('all')#清空画布。不要省略这一句,不然多个图会有bug。

一共3句,一句都不能少,这就输出了个图片“tmp.png”

hello world

3.定制坐标轴plt.plot( [12,34,56,78,90])

plt.xticks([0,1,2,3,4], ['1月'.decode('utf-8'),'2月'.decode('utf-8'),'3月'.decode('utf-8'),'4月'.decode('utf-8'),'5月'.decode('utf-8')], rotation=0)

plt.savefig('tmp.png')

plt.close('all')

以上只多了一行,输入2个数组,定制了x轴。第一个数组标记了文本出现的位置,第二个数组是unicode字符串。rotation可以让文字歪过来,在文本过长互相压盖时使用。

定制坐标轴

4.定制图例plt.plot( [12,34,56,78,90],label='上月'.decode('utf-8'))

plt.legend(bbox_to_anchor=[0.3, 1])

plt.savefig('tmp.png')

plt.close('all')

画图时加个参数“label”,定义legend之后就会自动出图例。同样只支持unicode字符串。

定制图例

5.定制标题plt.plot( [12,34,56,78,90])

plt.title('反馈率'.decode('utf-8'))

plt.savefig('tmp.png')

plt.close('all')

只需要加一句,传入unicode字符串。python默认是unicode,但是写了coding:utf-8之后会把默认编码修改成utf-8,所以这里需要decode回来。

定制标题

6.定制图片尺寸fig=plt.gcf()

fig.set_size_inches(10, 5)

plt.plot( [12,34,56,78,90])

plt.savefig('tmp.png')

plt.close('all')

需要在绘制之前,设定图片尺寸,只需要2句。长宽单位是英寸,建议估摸着多试几次找满意的尺寸。

定制图片尺寸

7.图表类型

常用的就 折线图,饼图,条形图;每种图有不同的定制方式。plt.plot([12,34,56,78,90],color='blue', label='反馈率'.decode('utf-8'),linewidth=5,linestyle='-.')

折线图中,label是图例,color是线颜色,linewidth是线宽,linestyle是线类型plt.pie([15,23,14,5],explode=[0,0.1,0,0],labels=['a','b','c','d'],colors=['r','b','g','w'],autopct='%1.1f%%',shadow=True,startangle=50)

饼图中,explode是突出显示,label是图例,color是颜色,autopct是占比格式,shadow是阴影,startangle是开始绘制的位置plt.bar(left=[0,1,2], height=[10,15,20],width=0.3,alpha=0.3, color='b',label='month',edgecolor='#000000',linewidth=2)

条形图比其他图多一个必选输入,需要输入条形长度和条形位置。

8.多子图

也就是在一张图片上,画多个图表。常见的就是上下组合,左右组合,4拼。不建议画更复杂的图。

左右:plt.figure(12)#先分成左右两块

plt.subplot(121)#绘制第一块

plt.plot([10,15,20])

plt.subplot(122)#绘制第2块

plt.plot([10,15,20])

plt.savefig('tmp.png')

plt.close('all')

左右均等

上下:plt.figure(21)#先分成上下两块

plt.subplot(211)#绘制第一块

plt.plot([10,15,20])

plt.subplot(212)#绘制第2块

plt.plot([10,15,20])

plt.savefig('tmp.png')

plt.close('all')

上下均等plt.figure(22)#先分成4两块

plt.subplot(221)#绘制第一块

plt.plot([10,15,20])

plt.subplot(222)#绘制第2块

plt.plot([10,15,20])

plt.subplot(223)#绘制第3块

plt.plot([10,15,20])

plt.subplot(224)#绘制第4块

plt.plot([10,15,20])

plt.savefig('tmp.png')

plt.close('all')

4拼

python 统计图绘制,Python绘制统计图表相关推荐

  1. python能绘制统计图吗-特征锦囊:常用的统计图在Python里怎么画?

    今日锦囊 常用的统计图在Python里怎么画? 这里的话我们介绍几种很简单但也很实用的统计图绘制方法,分别有条形图.饼图.箱体图.直方图以及散点图,关于这几种图形的含义这边就不多做解释了. 今天用到两 ...

  2. [月份维度]日志数据提取包含关键词的事件,解析落入的月份计数,matplotlib绘制统计图,python

    [月份维度]日志数据提取包含关键词的事件,解析落入的月份计数,matplotlib绘制统计图,python 日志数据提取事件关键词,解析对应日期的星期计数,matplotlib绘制统计图,python ...

  3. python turtle画滑稽_使用python的turtle函数绘制一个滑稽表情的方法

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

  4. 【Python】函数图像绘制:二维图像、三维图像、散点图、心形图

    [Python]函数图像绘制:二维图像.三维图像.散点图.心形图 所有需要用的包 二维图像 三维图像 散点图绘制 心形图绘制 所有需要用的包 from mpl_toolkits.mplot3d imp ...

  5. 手机如何看python代码_python如何绘制iPhone手机图案?(代码示例)

    本篇文章给大家带来的内容是介绍python如何绘制iPhone手机图案?(代码示例).有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 虽然我用不起苹果手机,但我可以用python画出 ...

  6. Python使用matplotlib可视化绘制并通过Tkinter生成按钮将可视化结果导出为pdf文件

    Python使用matplotlib可视化绘制并通过Tkinter生成按钮将可视化结果导出为pdf文件 目录 Python使用matplotlib

  7. Python使用matplotlib可视化绘制并导出可视化结果图表到PDF文件中

    Python使用matplotlib可视化绘制并导出可视化结果图表到PDF文件中 目录 Python使用matplotlib可视化绘制并导出可视化结果图表到PDF文件中

  8. Python中matplotlib默认绘制的条形图比较胖?如何设置成体型匀称的条形图,达到最佳的可视化效果。

    Python中matplotlib默认绘制的条形图比较胖?如何设置成体型匀称的条形图,达到最佳的可视化效果. #默认情形下的条形图 n_bars = len(x_labels)xval = np.ar ...

  9. python绘制三维曲面图-Python中使用Matplotlib绘制3D图形示例

    原标题:Python中使用Matplotlib绘制3D图形示例 3D图形能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的3D绘图工具.3D图形在数据分析.数据建模. ...

  10. python读取excel画散点图-python学习之matplotlib绘制散点图实例

    要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...

最新文章

  1. 加速100倍,性能媲美SOTA,浙大知识蒸馏新方法FastDFKD
  2. echarts图表第一个案例
  3. SAP本地化-银企直连
  4. 数码管时钟程序C语言00到99,[单片机]ACT89C51数码管时钟程序
  5. 索引对mysql行锁和表锁影响
  6. 关于js对象引用的小例子
  7. 造句简单_造句游戏的心理投射:被现代心理学摒弃的网红心理游戏
  8. 【剑指offer - C++/Java】9、变态跳台阶
  9. 宿迁市烟草专卖局(公司)系统信息系统运行维护管理办法(试行)
  10. 如何快速验证电子邮件地址?
  11. Java视频文件上传
  12. android x5 浏览器教程,064-腾讯的X5WebView内嵌浏览器引擎的使用
  13. 数码数字字体_国产太强!50包邮买到1000倍数码显微镜,让混用屏幕无所遁形
  14. Charles中文破解版下载安装及使用教程(附带免费下载链接)
  15. 基于Neo4j计算网络节点中心性(Closeness、betweenness Centrality)
  16. 一文带你读懂 Java Agent 内存马
  17. 十年阿里巴巴资深架构师整理分享的SpringSecurity实战文档
  18. 还在为产品的客户服务而烦恼?来搭建在线客服中心!
  19. 见微智著 - 从一个小例子看Python中的单元测试
  20. shell批处理 FFmpeg 批量转换格式 webm转MP4

热门文章

  1. nb-iot和4G各有什么优势
  2. php 裁剪png图片,解决thinkphp裁剪png图片背景不透明的方法
  3. 分享一段Excel实用快捷键
  4. Uber AI 研究院深度解构 ICLR 2019 最佳论文「彩票假设」!
  5. 中芯国际公布最新人事调整(5张数据表揭开公司真实情况)
  6. 【Testin云测活动】邀请好友使用Testin云测,得iPhone6!
  7. .netcore3 下Signalr 关于Joson序列化后对象属性变小写的问题
  8. 关于table表格头部固定和列固定的方式
  9. linux 核显驱动程序,在Ubuntu系统上安装英特尔核显驱动安装器的方法
  10. 科学家发现程序员秃头新原因,毛囊干细胞竟会悄悄逃走