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. day 14

    Sow an act, and you reap a habit. Sow a habit, and you reap a character. Sow a character, and you re ...

  2. 招聘.net高级工程师

    1. 本科及以上学历(必须): 2. 精通.net框架和常见web框架,精通常见设计模式并熟练应用. 3. 扎实的技术功底,有良好的数据结构和算法基础,深入理解面向对象编程思想, 熟悉面向对象的基本设 ...

  3. 通过inspect在电脑的Chrome上查看手机上的H5

    首先打开手机的开发者模式,(在连续点击7次版本号,系统会提示已经打开开发者模式) 然后打开一个手机浏览器. 然后在电脑上打开chrome://inspect/#devices.这是就会出现手机上浏览器 ...

  4. NET Core3前后端分离开发框架

    NET Core前后端分离快速开发框架 https://www.cnblogs.com/coldairarrow/p/11870993.html 引言 时间真快,转眼今年又要过去了.回想今年,依次开源 ...

  5. 框架Ray

    高性能最终一致性框架Ray之基本概念原理 一.Actor介绍 Actor是一种并发模型,是共享内存并发模型的替代方案. 共享内存模型的缺点: 共享内存模型使用各种各样的锁来解决状态竞争问题,性能低下且 ...

  6. 修改ssh服务器默认端口号

    1.查看当前ssh服务器端口号 在修改ssh服务器的端口号之前,首先查看ssh服务器监听的端口号,使用netstat命令: $ sudo netstat -tunlp | grep "ssh ...

  7. mybatis:updatebyexample与updateByExampleSelective

    MyBatis,通常逆向工程工具生成接口和xml映射文件用于简单的单表操作. 有两个方法: updateByExample 和 updateByExampleSelective  ,作用是对数据库进行 ...

  8. git 命令行回退到某个指定的版本

    1.在开发过程中遇到合并别人的代码或者合并主分支的代码导致自己的分支代码冲突或有别的问题,这时我们需要回退某个git提交历史的代码 用一下命令 git reset --hard 139dcfaa558 ...

  9. 删除字符串中的字符(C语言)

    题目: 编程序将给定字符串中指定字符删除.要求删除指定字符后原字符串不能留下空位置,字符串和指定字符均由键盘输入 基本思路 将字符串与要删除的字符进行比较,若为相同字符,则将字符串中的该字符替换为原字 ...

  10. 『7.5 NOIP模拟赛题解』

    T1 Gift Description ​ 人生赢家老王在网上认识了一个妹纸,然后妹纸的生日到了,为了表示自己的心 意,他决定送她礼物.可是她喜爱的东西特别多,然而他的钱数有限,因此他想 知道当他花一 ...