使用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 ...
随机推荐
- 创建java类中类出现is not an enclosing class
public class A { public class B { } }; 需要实例B类时,按照正逻辑是,A.B ab = new A.B(); 那么编译器就会出现一个错误--"is no ...
- Spring Boot 2.2.1 发布,一个有点坑的版本!
上一篇:Spring Boot 2.2.0 正式发布,支持 JDK 13! Spring Boot 2.2.0 没发布多久,Spring Boot 2.2.1 又发布了,这是一个很有意思,又有点 &q ...
- concurrent(四)Condition
参考文档:Java多线程系列--“JUC锁”06之 Condition条件:http://www.cnblogs.com/skywang12345/p/3496716.html Condition介绍 ...
- cad.net 2008使用WPF(摘录山人)
由于WPF的优点多多,而且在大量的winform的操作下感觉到数据操作的麻烦....推荐大家看杨中科WPF数据绑定教程 https://www.bilibili.com/video/av3388348 ...
- 第十一节:Asp.Net Core 之内容缓存(IMemoryCache)
1. 整体说明 ASP.NET Core 支持多种不同的缓存,最简单的缓存基于 IMemoryCache,它表示存储在 Web 服务器内存中的缓存,内存缓存可以存储任何对象,存储形式键值对,需要 .n ...
- ElasticSearch中的JVM性能调优
ElasticSearch中的JVM性能调优 前一段时间被人问了个问题:在使用ES的过程中有没有做过什么JVM调优措施? 在我搭建ES集群过程中,参照important-settings官方文档来的, ...
- 【实战经验】--Xilinx--IPCore--FIFO
2019.12.10补充 结论:先写进的数据在独处时位于高位,后写入的数据在低位,且排序单位为Byte,即先后写入0X01,0X02,读出后也为0x010x02,此外,在写入数据量达到读出数据位宽后5 ...
- Nginx官方文档翻译(转)
add by zhj: 由并发网组织翻译,赞 <Nginx官方文档>WebSocket代理 <Nginx官方文档>配置文件中的单位 <Nginx官方文档>控制ngi ...
- TJOI2018简要题解
Day1T1数学计算 按照时间轴建一棵线段树即可,复杂度为\(O(m \log m)\) #include <bits/stdc++.h> #define N 100005 #define ...
- Java学习:方法的使用与注意事项
方法的使用与注意事项 定义一个方法的格式:public static void 方法名称(){ 方法体 } 如何调用方法,格式: 方法名称(): 方法名称的命名规则和变量一样,使用小驼峰. 方法体:也 ...