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画图的更多相关文章

  1. python matplotlib 绘图基础

    在利用Python做数据分析时,探索数据以及结果展现上图表的应用是不可或缺的. 在Python中通常情况下都是用matplotlib模块进行图表制作. 先理下,matplotlib的结构原理: mat ...

  2. python开发者框架套件总结: package 包 frameworks

    python开发者的package 包 框架套件总结: frameworks     开发环境: anaconda pycharm django awesome-django : 介绍 django ...

  3. 使用pyplot和seaborn进行画图

    pyplot的一些知识 matplotlab中的对象: matplotlib是面向对象的,在画图的时候我们了解一些对象,对我们画图是有帮助的.绘图的对象大致分为三层: backend_bases.Fi ...

  4. Ubuntu 16.10 安装KolourPaint 4画图工具

    KolourPaint 4画图工具简单实用,可以绘画.视频处理和图标编辑: • 绘画:绘制图表和“手绘” • 视频处理:编辑截图和照片;应用特效 • 图标编辑:绘画剪贴和标识透明化 1.在Ubuntu ...

  5. Android开发之画图的实现

    Android开发之画图的实现    四天前上完安卓的第一节课,真的是一脸懵逼,尽管熊哥说和java是差不多的,然而这个包和那个包之间的那些转换都是些什么鬼呀!!!但是四天的学习和操作下来,我觉得安卓 ...

  6. matlab画图函数plot()/set/legend

    简单plot()/legend/XY轴范围axis 除了坐标轴信息外还可以添加其它的信息,如所画曲线的信息等:测试代码如下 x=0:pi/20:2*pi; y1=sin(x); y2=cos(x); ...

  7. 对Raphael画图标的一个jquery简单封装

    公司要做一个项目的demo,要求地图上可以插红旗,所以就用到了Raphael. 因为是个demo,所以地图就用了一张图片,效果如下: 所以为了更好的封装一下这个功能,就写了一个简单的插件:jquery ...

  8. java画图之曲线拖动

    目标:在窗体上按下鼠标按键.然后拖动鼠标,在按下和拖动之间绘制曲线 事件机制 事件源对象:窗体 事件监听方法:addMouseListener(MouseListener l);addMouseMot ...

  9. java画图之初体验

    1.实现画图程序所需的API类 JFrame JButton ActionListener              动作事件接口 ActionEvent                        ...

随机推荐

  1. 关于Exgcd

    %%lkx 学习博客 exgcd(扩展欧几里得) 可以用来判断并求解形如\(ax+by=c\)的方程,当且仅当\(gcd(a,b)|c\)时,存在整数解\(x,y\) 也就是说,\(exgcd\)可以 ...

  2. SpringMVC拦截器与SpringBoot自定义拦截器

    首先我们先回顾一下传统拦截器的写法: 第一步创建一个类实现HandlerInterceptor接口,重写接口的方法. 第二步在XML中进行如下配置,就可以实现自定义拦截器了 SpringBoot实现自 ...

  3. 【IntelliJ IDEA学习之七】maven专题

    版本:IntelliJIDEA2018.1.4 一.maven全局设置 设置Runner 运行VM参数:-Xms128m -Xmx512m -Duser.language=zh -Dfile.enco ...

  4. 快速排序详解(C语言/python)

    快速排序详解 介绍: 快速排序于C. A. R. Hoare在1960年提出,是针对冒泡排序的一种改进.它每一次将需要排序的部分划分为俩个独立的部分,其中一个部分的数比的数都小.然后再按照这个方法对这 ...

  5. linux lnmp环境下 安装apache教程

    linux lnmp环境下 安装apache教程 源码安装 apr ,apr-util 安装apache要用<pre>wget http://mirrors.cnnic.cn/apache ...

  6. flume安装使用+根据数据源分类

    安装搭建: 1)解压下载的flume(安装jdk1.6及其以上) 2)在conf文件夹里面建立example.conf文件 #example.conf:单节点Flume配置 #命名Agent a1的组 ...

  7. 网关/负载均衡下的consul集群代理

    之前有做过使用单机版的consul实现Prometheus服务注册,以为使用集群版的consul只是将consul服务地址从节点IP变为了网关IP.但比较坑的就是,当使用consul注册一个servi ...

  8. OpenCV使用CMake和MinGW的编译安装

    官方教程:https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows 软件环境: Qt:5.11 CMake-3.14.4 OpenCV-4.1. ...

  9. [转帖]疑似兆芯开先KX-7000跑分曝光:IPC性能大幅提升

    疑似兆芯开先KX-7000跑分曝光:IPC性能大幅提升 https://www.bilibili.com/read/cv4028300 数码 11-23 1589阅读28点赞22评论 尽管有ARM架构 ...

  10. 【Python + Selenium3】自动化测试之DDT数据驱动并生成测试报告以及用yagmail邮件发送文件

    我的文件路径 一.DDT代码: import unittest from time import sleep from selenium import webdriver from ddt impor ...