python r语言 作图_生物医学绘图,Python 并不比R语言差

做过基因测序和生物信息学分析,尤其是做过RNAseq分析的同学都知道,R语言中有一款数据可视化神器ggplot2,其绘图功能强大,但它的缺陷是不能直接绘制3D图形,需要加载扩展包,很麻烦。

如果用Python语言,matplotlib只需要几行代码就能画出漂亮的3D图形,要啥有啥,不信往下看:

3D线型图

代码如下:

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-6 * np.pi, 6 * np.pi, 1000)

y = np.sin(x)

z = np.cos(x)

fig = plt.figure()

ax = Axes3D(fig)

ax.plot(x, y, z)

plt.show()

3D曲面图

代码如下:

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()

ax = Axes3D(fig)

X = np.arange(-2, 2, 0.1)

Y = np.arange(-2, 2, 0.1)

X, Y = np.meshgrid(X, Y)

Z = np.sqrt(X ** 2 + Y ** 2)

ax.plot_surface(X, Y, Z, cmap=plt.cm.winter)

plt.show()

3D散点图

代码如下:

import numpy as np

x = np.random.normal(0, 1, 100)

y = np.random.normal(0, 1, 100)

z = np.random.normal(0, 1, 100)

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

fig = plt.figure()

ax = Axes3D(fig)

ax.scatter(x, y, z)

plt.show()

3D混合图

代码如下:

from mpl_toolkits.mplot3d import Axes3D

import numpy as np

import matplotlib.pyplot as plt

fig = plt.figure()

ax = Axes3D(fig)

x1 = np.linspace(-3 * np.pi, 3 * np.pi, 500)

y1 = np.sin(x1)

ax.plot(x1, y1, zs=0, c='red')

x2 = np.random.normal(0, 1, 100)

y2 = np.random.normal(0, 1, 100)

z2 = np.random.normal(0, 1, 100)

ax.scatter(x2, y2, z2)

plt.show()

3D子图

代码如下:

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

import numpy as np

fig = plt.figure()

ax1 = fig.add_subplot(1, 2, 1, projection='3d')

x = np.linspace(-6 * np.pi, 6 * np.pi, 1000)

y = np.sin(x)

z = np.cos(x)

ax1.plot(x, y, z)

ax2 = fig.add_subplot(1, 2, 2, projection='3d')

X = np.arange(-2, 2, 0.1)

Y = np.arange(-2, 2, 0.1)

X, Y = np.meshgrid(X, Y)

Z = np.sqrt(X ** 2 + Y ** 2)

ax2.plot_surface(X, Y, Z, cmap=plt.cm.winter)

plt.show()

3D柱状图

代码如下:

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

import numpy as np

fig = plt.figure()

ax = Axes3D(fig)

x = [0, 1, 2, 3, 4, 5, 6]

for i in x:

y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

z = abs(np.random.normal(1, 10, 10))

ax.bar(y, z, i, zdir='y', color=['r', 'g', 'b', 'y'])

plt.show()

小结

Python语言简洁而优雅,不仅绘图功能强大,还是目前最火的人工智能用到最多的语言。画图的例子还有很多,上面每个图还可进一步精雕细凿,调整颜色和饱和度,精致到艺术品水平,自己试试就知道了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

粒子群算法tsp java_粒子群算法解决TSP问题

1. 粒子群算法简介粒子群算法(particle swarm optimization,PSO)由Kennedy和Eberhart在1995年提出,属于进化算法的一种,是通过对模拟鸟群扑食行为设计的。基本思想:从随机解出发,通过迭代寻找最优解,通过适…

python 3.5.2页面_Python 3.5.2实现websocket服务端

最近由于一个项目需要,写了一个简易的websocket服务端程序,其间也参考了网上的很多资料,我将用接下来的几个篇幅说明是怎么实现的,及遇到的一系列埂。参考 (包括且不限于如下地址)涉及到的模块socket:socket通讯如侦听…

java连接sqlserver 的sqlhelper类_SQLserver数据库操作帮助类SqlHelper

using System;using System.Data;using System.Xml;using System.Data.SqlClient;using System.Collections;namespace SQL.Access{/// /// SqlServer数据访问帮助类/// public sealed class SqlHelper{#region 私有构造函数和方法private SqlHelper() {}/// /// 将SqlParamete…

python编写抢座位软件_程序员硬核Python抢票教程”,帮你抢回家车票

盼望着,盼望着,春节的脚步近了,然而,每年到这个时候,最难的,莫过于一张回家的火车票。据悉,今年春运期间,全国铁路发送旅客人次同比将增长8.0%,达到4.4亿人次&#xff0c…

java io 缓存读取_Java 文件IO写入读取四种方法

第一种:字节流 FileInputStream FileOutputStream1.1 读取操作//先创建一个和硬盘连接的流(打通硬盘和内存的通道)FileInputStream fis new FileInputStream("D:\\Demo.txt");//创建缓存区大小是1kbyte[] bytes new byte[1024];int data 0; //存储有效…

python集合可以修改吗_修改包含Python3中的集合的集合列表-问答-阿里云开发者社区-阿里云...

我试图创建一个以元组为元素的列表。每个元组都有4个整数。前两个整数是对2个range进行压缩的结果,而其他2个则是对2个不同的整数进行压缩的结果。我正在使用此代码创建元组和最终列表,这些列表是从笛卡尔乘积派生的,如下所示:获取…

hive mysql性能_Hive数据库安全审计功能

【Hive数据库安全审计简介】Hive数据库安全审计是一款基于数据库通讯协议准确分析和SQL完全解析技术的数据库安全审计系统。实现了对数据库操作、访问用户及外部应用用户的审计,可以用于安全合规、用户行为分析、运维监控、风控审计、事件追溯等与数据库安全相关的管…

linux安装sz rz_超级好用的文件传输命令rz与sz

做生物信息经常需要在本地客户端与服务器之间进行文件的传输,例如将要分析的数据传到Linux服务器上,进行分析,分析结束之后将结果下载到本地windows系统进行查看。以前我们都推荐大家使用比较稳定,并且支持断点续传的Filezilla或者…

java mongodb gridfs_查询MongoDB GridFS元数据(Java)

我想要做的是通过查询元数据的字段来获取GridFS文件列表.例如,我得到一个GridFS文件文件,如下所示:{ "_id" : { "$oid" : "4f95475f5ef4fb269dbac954"} , "chunkSize" : 262144 , "length" : 3077 , "md5&q…

php 防止跨站脚本攻击,php防止sql注入以及xss跨站脚本攻击

1.post数据封装转义函数 防sql注入 eag:addslashes($username);​addslashes($password);​eag:防止sql注入函数封装function deepslashes($data){#判断$data的表现形式 并且需要处理空的情况if(empty($data)){return($data);}​#高级简写 return is_array($data) …

visual studio 按钮判断管理员和用户_用户管理的设计原则

后台的使用者通常是企业的各类权限的管理员,通过对用户管理的合理设计,让管理员准确、高效地完成既定任务,来实现用户管理的价值。后台产品的使命是为企业提升效率,降低成本,而用户管理是后台的核心部分,用…

php 随机颜色,php生成随机颜色的代码实例

PHP生成随机颜色的代码实例:方法一:function color_txt($str){if ( is_array($str) ){$str $str[1];}$len mb_strlen($str);$colorTxt ;for($i0; $i$colorTxt . .mb_substr($str,$i,1,utf-8).;}return $colorTxt;}function rand_color(){re…

windows。forms.timer设置第一次不等待_面试官:换人!他连 TCP 这几个参数都不懂(一)...

前言TCP 性能的提升不仅考察 TCP 的理论知识,还考察了对于操作系统提供的内核参数的理解与应用。TCP 协议是由操作系统实现,所以操作系统提供了不少调节 TCP 的参数。如何正确有效的使用这些参数,来提高 TCP 性能是一个不那么简单事情。我们需…

php 输出可以设置格式文件,php格式输出文件var_export函数实例

本文实例讲述了php格式输出文件var_export函数的用法。分享给大家供大家参考。具体如下:var_export:php 4 > 4.2.0, php 5var_export -- 输出或返回一个变量的字符串表示.描述:mixed var_export (mixed expression [,bool return])此函数返回关于传递给该函数的变…

python tornado websocket_基于Python Tornado框架的websocket服务

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。Tornado中定义了tornado.websocket.WebSocketHandler来处理websocket请求。Tornado框架的安装以及入门这里就不说了,想入门tornado的请移步我的另一篇文章奥小飞:基于Python的…

微信网页开发教程 php,PHP实现微信网页授权开发教程,php授权教程_PHP教程

PHP实现微信网页授权开发教程,php授权教程微信网页授权是服务号才有的高级功能,开发者可以通过授权后获取用户的基本信息;在此之前,想要获取消息信息只能在用户和公众号交互时根据openid获取用户信息;而微信网页授权可…

lstm原文_LSTM模型与水文模型在径流模拟中的比较

学术简报题目:Comparison of Long Short Term Memory Networks and the Hydrological Model in Runoff Simulation作者:Hailin You1,Hongxiang Fan2,Ligang Xu2,Yongmi Wu1,*,Lizhen Liu2 and Zhong Yao1作者单位:1 Poyang Lake Research Center, Jiangxi Academy of Sciences,…

php 获取已用空间,PHP5:获取导入的名称空间列表 - php

是否可以在当前上下文中获取PHP文件中所有导入的类/命名空间的列表?例如:namespace A;use B, C\D;我想得到这个数组:array(B, C\D);原因是我正在构建一个Mapper注册表,并且希望能够在当前上下文中使用别名类名而不是全名来查询该M…

[英语单词] piss in the wind

有点粗俗的俚语:piss in the wind。 感觉这个谚语是写在实:就是找不准点,pointless;然后引申代表是浪费时间。 https://lkml.org/lkml/2006/10/10/130 This is not a pointless piss-in-the-wind discussion; unless we define ra…

pythonos模块介绍_Python OS模块介绍

OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作。可以查看OS模块的帮助文档:>>> import os #导入os模块>>> help(os) #查看os模块帮助文档,里面详细的模块相关函数…