python能快速解决日常工作中的小任务,比如数据展示。

  python做数据展示,主要用到matplotlib库,使用简单的代码,就可以很方便的绘制折线图、柱状图等。使用Java等,可能还需要配合html来进行展示,十分繁琐。

绘制的图形举例如下:

     

各种平面图的绘制代码:

 '''
File Name: draw
Author: tim
Date: 2018/8/15 16:47
Description: 图形绘制。十分有用,对于工作中实验性的项目,可以快速展示效果。如果使用java,还需要配合前端展示。
''' import matplotlib.pyplot as plt
import numpy as np # 模块取别名 # 直方图
def draw_hist():
mu = 100
sigma = 20 x = mu + sigma * np.random.randn(20000) # 样本数量
plt.hist(x, bins=100, color='green', normed=True) # bins:显示有几个直方,normed是否对数据进行标准化 plt._show() # 条形图
def draw_bar():
y = [20, 10, 30, 25, 15] # Y轴数据
index = np.arange(5) # X轴数据,也可以是index = [0,5] plt.bar(left=index, height=y, color='blue', width=0.5)
plt.show() # 折线图
def draw_plot():
x = np.linspace(-10, 10, 100) # -10到10,100个点
y = x ** 3 # x的3次幂 plt.plot(x, y, linestyle='--', color='orange', marker='<')
plt.xlabel('X')
plt.ylabel('Y') plt.show() # 散点图
def draw_scatter():
x = np.random.randn(1000)
y = x + np.random.randn(1000) * 0.5 plt.scatter(x, y, s=5, marker='<') # s表示面积,marker表示图形
plt.show() # 饼状图
def draw_pie():
labels = 'A', 'B', 'C', 'D' # 4个模块
fracs = [15, 30, 45, 10] # 每个模块占比例 plt.axes(aspect=1) # 使x、y轴比例相同
explode = [0, 0.5, 0, 0] # 突出某一部分区域 plt.pie(x=fracs, labels=labels, autopct='%.0f%%', explode=explode) # autopct显示百分比
plt.show() # 带图例
def draw_with_legend():
x = np.arange(1, 11, 1) # x轴坐标,1开始,11结束,步长为1 plt.plot(x, x * 2) # 第一条线,x,y坐标
plt.plot(x, x * 3)
plt.plot(x, x * 4) plt.legend(['Normal', 'Fast', 'Faster']) # 设置图例,与上面的线对应
plt.grid(True, color='green', linestyle='--', linewidth=1) # 绘制网格 plt.show() # start
if __name__ == '__main__':
# draw_hist()
# draw_bar()
draw_plot()
# draw_scatter()
# draw_pie()
# draw_with_legend()

3D图的绘制代码:

 '''
File Name: draw_3d
Author: tim
Date: 2018/8/15 18:42
Description: 3D绘图
''' import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D # 3D 绘制
def draw_3D():
fig = plt.figure() # 定义一个窗口
ax = Axes3D(fig) # 绘制3D坐标 # 设置x、y、z的值
x = np.arange(-4, 4, 0.25)
y = np.arange(-4, 4, 0.25)
x, y = np.meshgrid(x, y) # x-y 平面的网格 r = np.sqrt(x ** 2 + y ** 2)
z = np.sin(r) # z值 # 做出一个三维曲面,并将一个 colormap rainbow 填充颜色,之后将三维图像投影到 XY 平面上做一个等高线图
# rstride 和 cstride 分别代表 row 和 column 的跨度。
ax.plot_surface(x, y, z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow')) # 添加 XY 平面的等高线
ax.contourf(x, y, z, zdir='z', offset=-2, cmap=plt.get_cmap('rainbow')) ax.set_zlim(-2, 2)
plt.show() # 展示 # start
if __name__ == '__main__':
draw_3D()

python绘制图形的更多相关文章

  1. python绘制图形(Turtle模块)

    用python的Turtle模块可以绘制很多精美的图形,下面简单介绍一下使用方法. 需要用到的工具有python,python 的安装这里就不再细说.自行搜索. from turtle import ...

  2. python中的turtle库绘制图形

    1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...

  3. 009 Python基本图形绘制

    目录 一.概论 二.方法论 三.实践能力 一.概论 深入理解Python语言 实例2: Python蟒蛇绘制 模块1: turtle库的使用 turtle程序语法元素分析 二.方法论 Python语言 ...

  4. 014 Python基本图形绘制小结

    目录 一.Python基本语法元素 1.1 温度转换 二.Python基本图形绘制 2.1 Python蟒蛇绘制 一.Python基本语法元素 缩进.注释.命名.变量.保留字 数据类型.字符串. 整数 ...

  5. Python绘制3D图形

    来自:https://www.jb51.net/article/139349.htm 3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行 ...

  6. Python绘制PDF文件~超简单的小程序

    Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http:// ...

  7. 运用python绘制小猪佩奇

    用python绘制小猪佩奇 1.打开idle 2.点击File-New Files 3.输入以下代码 1. from turtle import * 2. 3. def nose(x,y):#鼻子 4 ...

  8. Python绘制奥运五环

    绘制奥运五环主要涉及到Python中的turtle绘图库运用: turtle.forward(distance) 向当前画笔方向移动distance像素长度 turtle.backward(dista ...

  9. 「Python」python绘制图表

    介绍一种简单而又功能强大的绘制图形或报表的包—pyecharts,一个基于Echarts(基于JS的数据可视化库)的图标类库,除了绘制常见的折线图.柱状图.饼图.箱型图和散点图外,还可以绘制3D柱状图 ...

随机推荐

  1. 9宫拼图小游戏(WPF MVVM实现)

    昨天逛论坛,看到一个哥们用WPF做了一个9宫的拼图游戏,发现初学WPF的人都很容易犯一个错误(我也犯过):把WPF当WINFORM用!所以想写一个比较符合WPF风格的版本,于是就抽工作的空余时间做了一 ...

  2. mysql 库 行 列的 操作使用

    -----------------------------------------------------------------------------时间不等你,下一刻,全是新的.每一刻都让它变得 ...

  3. python-Selenium库的详解

    一.什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行 ...

  4. Sparse Principal Component Analysis via Rotation and Truncation

    目录 对以往一些SPCA算法复杂度的总结 Notation 论文概述 原始问题 问题的变种 算法 固定\(X\),计算\(R\) 固定\(R\),求解\(X\) (\(Z =VR^{\mathrm{T ...

  5. 结对项目——图形界面实现与dll动态链接

    先来一发软件截图~~~ 生成题目的界面 测评界面 第三块本来准备做一个文件历史记录的界面,但是由于时间不够,暂时还没做完. 图形界面的设计与实现 由于对传统的对话框风格不太满意,所以这次作业的图形界面 ...

  6. BOM、DOM

    window对象 所有浏览器都支持window对象,他表示浏览器窗口. 全局变量是window对象的属性.全局函数是window对象的方法. window的常用方法: window.innerHeig ...

  7. (关于数据传输安全)SSH协议

    这里说的不是java的SSH框架,是1995年,芬兰学者Tatu Ylonen设计的SSH协议. 有计算机网络基础的同学都知道,在网上传输的数据是可以被截取的.那么怎样才能获得安全? 一.春点行话 电 ...

  8. 【转】安装ambari的时候遇到的ambari和hadoop问题集

    5.在安装的时候遇到的问题 5.1使用ambari-server start的时候出现ERROR: Exiting with exit code -1. 5.1.1REASON: Ambari Ser ...

  9. 【问题解决方案】The MathType Dll cannot be found 问题解决方案

    先贴几个可能的方法: 如何解决MathPage.wll或MathType.dll文件找不到问题 The MathType Dll cannot be found 问题解决办法 如果还搞不定,试试卸载重 ...

  10. 【问题解决方案】之 hadoop 用jps命令后缺少namenode的问题

    用Xshell连接腾讯cloud里的虚拟机后,jps命令查无namenode导致过滤排序程序跑不起来,如图: 解决方案: Google之,说需要重启,格式化后再启动Hadoop.但鉴于本人不知道实现的 ...