python绘制图形
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绘制图形的更多相关文章
- python绘制图形(Turtle模块)
用python的Turtle模块可以绘制很多精美的图形,下面简单介绍一下使用方法. 需要用到的工具有python,python 的安装这里就不再细说.自行搜索. from turtle import ...
- python中的turtle库绘制图形
1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...
- 009 Python基本图形绘制
目录 一.概论 二.方法论 三.实践能力 一.概论 深入理解Python语言 实例2: Python蟒蛇绘制 模块1: turtle库的使用 turtle程序语法元素分析 二.方法论 Python语言 ...
- 014 Python基本图形绘制小结
目录 一.Python基本语法元素 1.1 温度转换 二.Python基本图形绘制 2.1 Python蟒蛇绘制 一.Python基本语法元素 缩进.注释.命名.变量.保留字 数据类型.字符串. 整数 ...
- Python绘制3D图形
来自:https://www.jb51.net/article/139349.htm 3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行 ...
- Python绘制PDF文件~超简单的小程序
Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http:// ...
- 运用python绘制小猪佩奇
用python绘制小猪佩奇 1.打开idle 2.点击File-New Files 3.输入以下代码 1. from turtle import * 2. 3. def nose(x,y):#鼻子 4 ...
- Python绘制奥运五环
绘制奥运五环主要涉及到Python中的turtle绘图库运用: turtle.forward(distance) 向当前画笔方向移动distance像素长度 turtle.backward(dista ...
- 「Python」python绘制图表
介绍一种简单而又功能强大的绘制图形或报表的包—pyecharts,一个基于Echarts(基于JS的数据可视化库)的图标类库,除了绘制常见的折线图.柱状图.饼图.箱型图和散点图外,还可以绘制3D柱状图 ...
随机推荐
- Spring Boot 2 (十):Spring Boot 中的响应式编程和 WebFlux 入门
Spring 5.0 中发布了重量级组件 Webflux,拉起了响应式编程的规模使用序幕. WebFlux 使用的场景是异步非阻塞的,使用 Webflux 作为系统解决方案,在大多数场景下可以提高系统 ...
- NPOI生成excel并下载
NPOI文件下载地址:http://npoi.codeplex.com/ 将文件直接引用至项目中即可,,,,, 虽然网上资料很多,但有可能并找不到自己想要的功能,今天闲的没事,所以就稍微整理了一个简单 ...
- RNG牛掰!
2018-05-21 RNG牛掰!Uzi圆梦! 不说了,先去哭了! 2018-07-08 洲际赛后更新,RNG依然牛逼! 2018-08-30 亚运后后更新,UZI加油! 2018-10-22 继续加 ...
- 小程序解决方案 Westore - 组件、纯组件、插件开发
数据流转 先上一张图看清 Westore 怎么解决小程序数据难以管理和维护的问题: 非纯组件的话,可以直接省去 triggerEvent 的过程,直接修改 store.data 并且 update,形 ...
- unixbench 物理机性能与虚拟机性能测试对比
1. 测试方法 wget https://download.laobuluo.com/tools/UnixBench5.1.3.tgz tar -zxvf UnixBench5.1.3.tgz cd ...
- python2中reload(sys)后设置编码
python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't deco ...
- 在IDEA中配置Spring的XML装配
不考虑混合模式的话,Spring有三类装配Bean的方法,自动装配和Java代码装配都会很容易上手,但在弄XML装配时遇到了问题,这与IDEA环境有关. 装配时需要在源码中配置XML文件的位置,我看别 ...
- Ajax中文乱码的解决
网上有很多解决Ajax中文乱码的例子,昨晚弄了很久,最终确定一种“确实”有效地方法.首先我有必要说明一下我遇到的情况:有一个注册页面,注册用户填完信息并提交后,页面获得信息并通过java servle ...
- 解决ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
解决办法:
- Linux (Redhat / Fedora / CentOS) 更改 hostname 的方式
Linux (Redhat / Fedora / CentOS) 更改 hostname 的方式 [蔡宗融個人網站]https://www.ichiayi.com/wiki/tech/linux_ho ...