1. 绘制3D柱状图,其数据格式为,二维数组或三维数组。

    from numpy import *

    file=open('C:\\Users\\jyjh\\Desktop\\count.txt','r')

    arr=[]

    for i in file.readlines():

    temp=[]

    for j in i.strip().split('\t'):

    temp.append(float(j))

    arr.append(temp)

    import random

    import numpy as np

    import matplotlib as mpl

    import matplotlib.pyplot as plt

    from mpl_toolkits.mplot3d  import Axes3D

    mpl.rcParams['font.size']=10

    fig=plt.figure()

    ax=fig.add_subplot(111,projection='3d')

    xs=range(len(arr))

    ys=range(len(arr[0]))

    for z in range(len(arr)):

    xs=range(len(arr))

    ys=arr[z]

    color=plt.cm.Set2(random.choice(range(plt.cm.Set2.N)))

    ax.bar(xs,ys,zs=z,zdir='y',color=color,alpha=0.5)

    ax.xaxis.set_major_locator(mpl.ticker.FixedLocator(xs))

    ax.yaxis.set_major_locator(mpl.ticker.FixedLocator(ys))

    ax.set_xlabel('x')

    ax.set_ylabel('y')

    ax.set_zlabel('copies')

    plt.show()

    通过设置xs,ys,z可以设定绘制不同维度的数据。

  2. 绘制热图:

    import numpy as np

    from matplotlib import pyplot as plt

    from matplotlib import cm

    from matplotlib import axes

    def draw_heatmap(data,xlabels,ylabels):

    #cmap = cm.get_cmap('rainbow',1000)

    cmap=cm.gray

    figure=plt.figure(facecolor='w')

    ax=figure.add_subplot(2,1,1,position=[1,1,1,1])

    ax.set_yticks(range(len(ylabels)))

    ax.set_yticklabels(ylabels)

    ax.set_xticks(range(len(xlabels)))

    ax.set_xticklabels(xlabels)

    vmax=data[0][0]

    vmin=data[0][0]

    for i in data:

    for j in i:

    if j>vmax:

    vmax=j

    if j<vmin:

    vmin=j

    map=ax.imshow(data,interpolation='nearest',cmap=cmap,aspect='auto',vmin=vmin,vmax=vmax)

    cb=plt.colorbar(mappable=map,cax=None,ax=None,shrink=0.8)

    plt.show()

    xl=range(16)

    yl=range(16)

    draw_heatmap(arr,xl,yl)

  3. 绘制曲面图

    from matplotlib import pyplot as plt

    import numpy as np

    from mpl_toolkits.mplot3d import Axes3D

    figure = plt.figure()

    ax = Axes3D(figure)

    X = np.arange(-10, 10, 0.25)

    Y = np.arange(-10, 10, 0.25)

    #网格化数据

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

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

    Z = np.cos(R)

    ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')

    plt.show()

  4. 绘制曲线图

    from mpl_toolkits.mplot3d import Axes3D

    import numpy as np

    import matplotlib.pyplot as plt

    #生成画布

    figure=plt.figure()

    ax=figure.add_subplot(111,projection='3d')

    #生成向量

    z=np.linspace(0,6,1000)

    r=1

    x=r*np.sin(np.pi*2*z)

    y=r*np.cos(np.pi*2*z)

    ax.plot(x,y,z)

    plt.show()

python 三维坐标图的更多相关文章

  1. iOS绘制坐标图,折线图-Swift

    坐标图,经常会在各种各样的App中使用,最常用的一种坐标图就是折线图,根据给定的点绘制出对应的坐标图是最基本的需求.由于本人的项目需要使用折线图,第一反应就是搜索已经存在的解决方案,因为这种需求应该很 ...

  2. 基于osg的python三维程序开发(一)

    背景: osg是一款开源的三维引擎,在过去多年的发展中积累了大量的用户,该引擎基于场景树的管理,使用方法简单.但是对长期使用python作为开发工具的朋友来说, 有一定门槛. 下面的小程序,演示了如何 ...

  3. Swift基础之设计折线坐标图

    最近添加了折线视图的样式,所以在这里用Swift语言重新再使用设计一下 首先设置纵坐标的数值是:体重 //体重        let weightLabel = UILabel.init(frame: ...

  4. python 三维数组找最小值

    #声明三维数组 num=[[[,,],[,,],[,,]], \ [[,,],[,,],[,,]]] value=num[][][]#设置main为num数组的第一个元素 ): ): ): if(va ...

  5. 基于osg的python三维程序开发(三)------几何形体及纹理

    def createScene(): geode = osg.Geode() pointsGeom = osg.Geometry() vertices = osg.Vec3Array() vertic ...

  6. 基于osg的python三维程序开发(二)------向量

    上一篇文章展示了如何简单创建一个osg python 程序, 本篇展示了了一些基础数据结构的使用: from pyosg import * vec = osg.Vec3Array() #push ba ...

  7. python 三维散点插值 griddata

    #三维点插值#在三维空间中,利用实际点的值推算出网格点的值import numpy as np point_grid =np.array([[0.0,0.0,0.0],[0.4,0.4,0.4],[0 ...

  8. Matplotlib:Python三维绘图

    1.创建三维坐标轴对象Axes3D 创建Axes3D主要有两种方式,一种是利用关键字projection='3d'来实现,另一种是通过从mpl_toolkits.mplot3d导入对象Axes3D来实 ...

  9. Android动画translate坐标图

    X坐标图示: Y坐标图示:

随机推荐

  1. POJ - 2955 Brackets (区间DP)

    题目: 给出一个有括号的字符串,问这个字符串中能匹配的最长的子串的长度. 思路: 区间DP,首先枚举区间长度,然后在每一个长度中通过枚举这个区间的分割点来更新这个区间的最优解.还是做的少. 代码: / ...

  2. HDFS的Java API 对文件的操作

    在本次操作中所用到的命令 1.首先启动HDFS $HADOOP_HOME/sbin/start-dfs.sh 2.关防火墙 切换到root用户,执行service iptables stop 3.拷贝 ...

  3. action类中属性驱动和模型驱动的区别

    1.Struts2的属性驱动 在Action类中,属性××通过get××()和set××()方法,把参数在整个生命周期内进行传递,这就是属性驱动 代码如下: package org.abu.csdn. ...

  4. 使用sphinx

    SQL   结构化查询语言(是一种标准,所有的关系型数据库Mysql,sqlserver,oracle) sphinx的使用两种方式: 第一种:  使用sphinx的API来操作sphinx   (常 ...

  5. Linux CentOS7.5静默安装Oracle11gR2

    网上有很多安装教程,但大多不够完整,参照了一些教程,实测安装成功,整理出来分享给大家! 一.官方最低要求配置 内存:1G(官方最低要求1G) 硬盘:40G(企业版安装所需4.29G和1.7G数据文件) ...

  6. 【转载】Hadoop NameNode 高可用 (High Availability) 实现解析

    转载:https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-name-node/ NameNode 高可用整体架构概述 在 Had ...

  7. 转载:Django之Form组件

    Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建Form类 +? 1 2 3 ...

  8. I - DFS(依然是漫水填充)

    Description There is a rectangular room, covered with square tiles. Each tile is colored either red ...

  9. Spring核心技术(六)——Spring中Bean的生命周期

    前文已经描述了Bean的作用域,本文将描述Bean的一些生命周期作用,配置还有Bean的继承. 定制Bean 生命周期回调 开发者通过实现Spring的InitializeingBean和Dispos ...

  10. JAVA IO中read()方法的返回值

    read()方法的作用是从输入流读取数据的下一个字节,返回的字节的值是一个0~255之间的整数.到达流的末尾返回-1. 刚开始我以为这个返回值表示的是所读取的数据的长度,可是之后在一个示例程序中发现这 ...