使用Matplotlab画图
1.绘制折线图
#! /usr/bin/env python
#encoding=utf-8 # 用于python2
import sys
reload(sys)
sys.setdefaultencoding('utf-8') # matplotlib绘制图片汉字不能正常显示问题
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False import numpy as np
import matplotlib.pyplot as plt x = ["test" + str(i) for i in range(, )]
y = np.random.rand()
# 设置图像窗口大小
plt.figure(figsize=(, ), dpi=)
plt.plot(x, y)
# 数字和字符串一一对应, 数据的长度一样, ratation旋转的度数
plt.xticks(x[::], x[::], rotation=) # labelpad Spacing in points between the label and the x-axis
plt.xlabel(u"电影名称", labelpad=)
plt.ylabel(u"上座率", labelpad=)
plt.title(u"上座率变化情况")
plt.show()
2.绘制散点图
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False import numpy as np
import matplotlib.pyplot as plt x = ["电影" + str(i) for i in range(, )]
y = np.random.randint(, , )
# 设置图像窗口大小
plt.figure(figsize=(, ), dpi=)
plt.scatter(x, y, alpha=0.4, edgecolors='white') # 数字和字符串一一对应, 数据的长度一样, ratation旋转的度数
plt.xticks(x, x, rotation=)
# labelpad Spacing in points between the label and the x-axis
plt.xlabel(u"电影名称", labelpad=)
plt.ylabel(u"上座数量", labelpad=)
plt.title(u"上座数量变化情况")
plt.show()
3.绘制水平条形图
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False import numpy as np
import matplotlib.pyplot as plt x = ["电影" + str(i) for i in range(, )]
y = np.random.randint(, , )
y = sorted(y, reverse=True) # 设置图像窗口大小
plt.figure(figsize=(, ), dpi=)
plt.barh(range(len(x)), y, height=0.5, color='red')
plt.yticks(range(len(x)), x, color='black')
plt.grid(alpha=0.3)
plt.show()
4.绘制条形图
# 解决matplotlib绘制图片汉字不能正常显示问题
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False import numpy as np
import matplotlib.pyplot as plt x = ["电影" + str(i) for i in range(, )]
y = np.random.randint(, , )
y = sorted(y, reverse=True)
# 设置图像窗口大小
plt.figure(figsize=(, ), dpi=)
plt.bar(range(len(x)), y, width=0.6)
# 数字和字符串一一对应, 数据的长度一样, ratation旋转的度数
plt.xticks(range(len(x)), x, rotation=) # labelpad Spacing in points between the label and the x-axis
plt.xlabel(u"电影名称", labelpad=)
plt.ylabel(u"上座数量", labelpad=)
plt.title(u"上座数量变化情况")
plt.show()
5.绘制饼图
# matplotlib绘制图片汉字不能正常显示问题
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False import matplotlib.pyplot as plt
import random # 学习时间分配
pro_name = ["C++", "Python", "Java", "Go", "shell"]
pro_time = [, , , , ] # 画饼
# plt.pie(pro_time, labels=pro_name, autopct="%3.2f%%", colors=["#ea6f5a", "#509839", "#0c8ac5", "#d29922", "#fdf6e3"])
plt.pie(pro_time, labels=pro_name, autopct="%3.2f%%") # 指定标题
plt.title("学习时间分配") # 保证为图形为正圆
plt.axis("equal") plt.legend(loc="best")
plt.show()
6.绘制多条折线图
# 解决matplotlib绘制图片汉字不能正常显示问题
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False import numpy as np
import matplotlib.pyplot as plt
import random x = [h for h in range(, )]
hainan_y = [random.randint(, ) for t in range(, )] # 设置画板属性
plt.figure(figsize=(, ), dpi = ) # 往画板绘图
plt.plot(x, hainan_y, label="海南") # 模拟北京一天内温度的变化 # 生成y轴的温度随机值(, )
beijing_y = [random.randint(, ) for t in range(, )]
# 往画板绘图
plt.plot(x, beijing_y, label="北京") # 模拟河北一天内温度的变化
hebei_y = [random.randint(, ) for t in range(, )]
# 自定义绘制属性: 颜色color="#0c8ac5", linestyle"-"""--""-.":", 线宽linewidth, 透明度alpha
plt.plot(x, hebei_y, label="河北") # 生成24小时的描述
x_ = [x_ for x_ in range(, )]
x_desc = ["{}时".format(x_desc) for x_desc in x_]
# 设置x轴显示 24小时
plt.xticks(x_, x_desc) # 生成10至30度的描述
y_ = [y_ for y_ in range(, )][::]
y_desc = ["{}℃".format(y_desc) for y_desc in y_]
# 设置y轴显示温度描述
plt.yticks(y_, y_desc) # 指定x y轴的名称
plt.xlabel("时间")
plt.ylabel("温度") # 指定标题
plt.title("一天内温度的变化") # 显示图例
plt.legend(loc="best") # 在浏览器内展示图片
plt.show()
7.绘制多个条形图
# 解决matplotlib绘制图片汉字不能正常显示问题
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False import numpy as np
import matplotlib.pyplot as plt x = ['2019-06-10', '2019-06-11', '2019-06-12', '2019-06-13', '2019-06-14']
y = [[, , ], [, , ], [, , ], [, , ], [, , ]]
label = ["最好的我们", '一般的我们', '比较差的我们'] plt.figure(figsize=(, ), dpi=)
plt.bar([i-0.1 for i in range(len(x))], [i[] for i in y], width=0.1, label=label[])
plt.bar([i for i in range(len(x))], [i[] for i in y], width=0.1, label=label[])
plt.bar([i+0.1 for i in range(len(x))], [i[] for i in y], width=0.1, label=label[]) plt.xlabel("日期", labelpad=)
plt.ylabel("上座数量", labelpad=)
plt.title("每天对应电影的上座数量")
plt.legend(loc="best")
#设置x轴的刻度
plt.xticks(range(len(x)), x)
plt.show()
使用Matplotlab画图的更多相关文章
- python matplotlib 绘图基础
在利用Python做数据分析时,探索数据以及结果展现上图表的应用是不可或缺的. 在Python中通常情况下都是用matplotlib模块进行图表制作. 先理下,matplotlib的结构原理: mat ...
- python开发者框架套件总结: package 包 frameworks
python开发者的package 包 框架套件总结: frameworks 开发环境: anaconda pycharm django awesome-django : 介绍 django ...
- 使用pyplot和seaborn进行画图
pyplot的一些知识 matplotlab中的对象: matplotlib是面向对象的,在画图的时候我们了解一些对象,对我们画图是有帮助的.绘图的对象大致分为三层: backend_bases.Fi ...
- Ubuntu 16.10 安装KolourPaint 4画图工具
KolourPaint 4画图工具简单实用,可以绘画.视频处理和图标编辑: • 绘画:绘制图表和“手绘” • 视频处理:编辑截图和照片;应用特效 • 图标编辑:绘画剪贴和标识透明化 1.在Ubuntu ...
- Android开发之画图的实现
Android开发之画图的实现 四天前上完安卓的第一节课,真的是一脸懵逼,尽管熊哥说和java是差不多的,然而这个包和那个包之间的那些转换都是些什么鬼呀!!!但是四天的学习和操作下来,我觉得安卓 ...
- matlab画图函数plot()/set/legend
简单plot()/legend/XY轴范围axis 除了坐标轴信息外还可以添加其它的信息,如所画曲线的信息等:测试代码如下 x=0:pi/20:2*pi; y1=sin(x); y2=cos(x); ...
- 对Raphael画图标的一个jquery简单封装
公司要做一个项目的demo,要求地图上可以插红旗,所以就用到了Raphael. 因为是个demo,所以地图就用了一张图片,效果如下: 所以为了更好的封装一下这个功能,就写了一个简单的插件:jquery ...
- java画图之曲线拖动
目标:在窗体上按下鼠标按键.然后拖动鼠标,在按下和拖动之间绘制曲线 事件机制 事件源对象:窗体 事件监听方法:addMouseListener(MouseListener l);addMouseMot ...
- java画图之初体验
1.实现画图程序所需的API类 JFrame JButton ActionListener 动作事件接口 ActionEvent ...
随机推荐
- 奇技淫巧and板子
目录 求第\(k\)大的数 求长度不小于L的子段使之和最大 ST表 \(O(1)\)实现能查询栈中最小元素 二分 树和图的深度优先遍历和广度优先遍历 树的dfs序 求树的重心 图的联通块划分 拓扑排序 ...
- Python中的next()\iter()函数详解
什么是可迭代的对象(Iterable,即可以用for循环的对象)和迭代器(Iterator) Iterable: 一类是:list.tuple.dict.set.str 二类是:generator(都 ...
- terminal使用kubectl.exe delete pod podname删不掉
今天通过kubernetes的dashboard进行删除有问题或者重启次数太多的pod,发现删不掉,然后就在本地尝试使用terminal进行删除 先获取指定namespace下的所有的pod,根据st ...
- spring cloud 服务链路追踪 skywalking 6.1
随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务.互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发.可能使用不同的编程语言来实现.有可能布在了 ...
- Golang(二)基本概念
类型 18个基本类型:bool.string.rune.byte.int.uint.int8.uint.int8.int16.uint16.int32.uint32.int64.uint64.floa ...
- centos7 df 命令卡死
登录服务器想查看磁盘使用情况,使用了df,但卡住半天没有响应. 运行strace df -h,发现最后卡在了 stat("/proc/sys/fs/binfmt_misc", 无法 ...
- ORM之模型对象Model
模型对象Model Odoo的模型对象在odoo模块的models.py文件中,最基础的对象是BaseModel; Odoo的模型对象有三个:AbstractModel.Model.Transient ...
- AntDesign vue学习笔记(五)导航菜单动态加载
一般的后台系统都有一个树形导航菜单,具体实现如下,主要参考https://my.oschina.net/u/4131669/blog/3048416 "menuList": [ { ...
- mysql—增删改查
MySQL数据库,每条命令后要加:号.不然会认为命令语句未输入完, 若在语句结尾不添加分号时, 命令提示符会以 -> 提示你继续输入(有个别特例, 但加分号是一定不会错的); show data ...
- 基准测试工具:Wrk初识
最近和同事聊起常用的一些压测工具,谈到了Apache ab.阿里云的PTS.Jmeter.Locust以及wrk各自的一些优缺点和适用的场景类型. 这篇博客,简单介绍下HTTP基准测试工具wrk的基本 ...