使用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 ...
随机推荐
- cf1206解题报告
目录 cf1206解题报告 A B C D E,F cf1206解题报告 A 模拟 #include <bits/stdc++.h> using namespace std; int n, ...
- CSS3中box-sizing属性的作用以及应用场景
盒模型box-sizing: 取值 1.content-box 默认值,标准盒模型,设置宽度为内容宽度,实际宽度为左右边距加上左右边框加上左右填充再加上内容宽度 2.border-box 设置宽度等于 ...
- docker 修改gwbridge ip address
docker_gwbridge介绍 docker_gwbridge接口为使用多主机群覆盖网络的所有容器和任务提供默认网关功能.它是在每个Docker主机上创建的,当它们加入集群时.如果接口docker ...
- 1473. [Ioi2000]Post加强版 n log^2 n做法
1473. [Ioi2000]Post加强版 n log^2 n做法 题面 有n个城市从负方向向正方向按照1至n标号,\(d[i]\)表示城市i离原点的距离并且\(d[1] = 0\),对于\(i \ ...
- js手动抛出异常
//js手动抛异常 if(!id){ throw new Error("选择标识无效"); } js抓取异常 try{ }catch (e) { console.log(e.msg ...
- .netcore使用MimeKit发送邮件
以163邮箱为例,借助MimeKit nuget安装:MimeKit类库,源码地址:https://github.com/jstedfast/MimeKit 发送方法如下: #region 邮件发送 ...
- 浅析PHP框架Laravel最新SQL注入漏洞
PHP知名开发框架Laravel,之前在官方博客通报了一个高危SQL注入漏洞,这里简单分析下. 首先,这个漏洞属于网站coding写法不规范,官方给了提示: 但官方还是做了修补,升级最新版本V5.8. ...
- [转帖]Mysql各版本介绍及下载
Mysql各版本介绍及下载 http://blog.itpub.net/12679300/viewspace-1251661/ 原创 MySQL 作者:wzq609 时间:2014-08-15 10: ...
- SQL Server DBCC命令大全
原文出处:https://www.cnblogs.com/lyhabc/archive/2013/01/19/2867174.html DBCC DROPCLEANBUFFERS:从缓冲池中删除所有缓 ...
- Lua table concat
[1]table concat 简介 使用方式: table.concat(table, sep, start, end) 作用简介: concat是concatenate(连锁.连接)的缩写. ta ...