精华内容
下载资源
问答
  • Python绘制三维柱状图并在柱状图顶端添加标签 原创--Aurora-- 最后发布于2019-04-01 17:09:54 阅读数 889 收藏 展开 对于在Python中绘制三维柱状图网上有很多的资料可以查询到了,笔者这边就不多赘述,直接上代码了...

    Python绘制三维柱状图并在柱状图顶端添加标签
    原创--Aurora-- 最后发布于2019-04-01 17:09:54 阅读数 889  收藏
    展开
    对于在Python中绘制三维柱状图网上有很多的资料可以查询到了,笔者这边就不多赘述,直接上代码了。

    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    x = [1,2,3,4]
    y= [6,7,8,9]
    z = 5
    plt.bar(x, y, zs=z, zdir='y', color='rgb', alpha=0.8)
    plt.show()
    1
    2
    3
    4
    5
    6
    7
    8
    9
    图片展示如下图所示:

    此时柱状图上面是什么都没有的,是不是感觉很奇怪呢?下面就让我们修改一下上述的代码。只需要在代码中添加两行就可以解决这个问题,看代码。

    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    x = [1,2,3,4]
    y= [6,7,8,9]
    z = 5
    plt.bar(x, y, zs=z, zdir='y', color='rgb', alpha=0.8)
    for xx, yy in zip(x,y):
            ax.text(xx,z,yy+0.5,yy)
    plt.show()
     函数,text(x,y,z,label),其中x,y,z表示标签需要添加的的位置,label代表所需要添加的内容。结果如下图所示:

    ————————————————
     

    展开全文
  • 网上搜了一下关于python绘制三维柱状图,没有找到可用的,偶然间发现一个第三方库pyecharts,不仅可以绘制三维图,还能动态展示,生成的是html文件。 中文文档地址:http://pyecharts.herokuapp.com/;github项目...

    当有数据想要进行横向纵向同步比较时,三维柱状图是最好的选择,目前基础的word和excel还不具备此功能,可以使用专业画图软件origin pro来做,python也是很多人首先想到的。网上搜了一下关于python绘制三维柱状图,没有找到可用的,偶然间发现一个第三方库pyecharts,不仅可以绘制三维图,还能动态展示,生成的是html文件。
    中文文档地址:http://pyecharts.herokuapp.com/github项目源码

    仅以下方数据示例,更复杂的操作请参看GitHub

    1. 原始数据


    我的原始数据都是按100算的,所以在函数中有用除以100计算,如果数据正好是1以内,可以不做除以100处理

    2. 代码

    import random
    from pyecharts.faker import Faker
    from pyecharts import options as opts
    from pyecharts.charts import Bar3D
    import pandas as pd
    import numpy as np
    def read_do():   #负责数据的读取和整理
        init_data=pd.read_excel(r"D:\python\pra\画图\青岛指标.xlsx")
        init_data=np.array(init_data)
        data_tip=['GDP增速','常住人口城镇化率','第二产业占GDP比重','第三产业占GDP比重','城市恩格尔系数','公园绿地建成区绿化覆盖率',
                  '居民消费价格指数','商品零售价格指数','工业生产者出厂价格指数']
        data_year=[2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018]
        data_pre=[]
    
        num=1
        N=0
        for st in data_tip:
            ofr=0
            for dy in data_year:
                fuck = [st,dy,float(init_data[ofr][num]/100)] # 原始数据做除以100处理,使其位于0-1之间
                data_pre.append(fuck)
                N = N+1
                ofr = ofr+1
            num = num+1
        return data_pre
    def bar3d_base() -> Bar3D:
        data = read_do()
        data_tip=['GDP增速','常住人口城镇化率','第二产业占GDP比重','第三产业占GDP比重','城市恩格尔系数','公园绿地建成区绿化覆盖率', '居民消费价格指数','商品零售价格指数','工业生产者出厂价格指数']
        data_year=[2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018]
        c = (
            Bar3D()
            .add(
                "",
                data,
                xaxis3d_opts = opts.Axis3DOpts(data_tip,type_="category",max_=9),
                yaxis3d_opts = opts.Axis3DOpts(data_year,type_="time",max_=2019),
                zaxis3d_opts = opts.Axis3DOpts(type_="value",max_=1), # 此处最大值为1,也可以自行设置,不过值过大颜色都是红色
                grid3d_opts = opts.Grid3DOpts(width="280",height="100")
            )
            .set_global_opts(
                visualmap_opts = opts.VisualMapOpts(max_=1),
                title_opts = opts.TitleOpts(title = "青岛指标"),
            
            )
        )
    
    
        return c
    abc = bar3d_base()
    abc.render("青岛指标.html")
    

    3. 结果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    可以看到,图片左侧有一个颜色条,表示0-1的数值,故要将数据处理为0-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...

    绘制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可以设定绘制不同维度的数据。

    展开全文
  • 功能:绘制二维、三维柱状图 在线测试代码效果:http://kakazai.cn/index.php/Kaka/Python/query/name/bar 实例1:普通例子 #!/usr/bin/python3 #code-python(3.6) import matplotlib.pyplot as plt x = [1,2,3,4] ...

    bar

    所属模块:matplotlib

    功能:绘制二维、三维柱状图

    在线测试代码效果:http://kakazai.cn/index.php/Kaka/Python/query/name/bar


    实例1:普通例子

    #!/usr/bin/python3
    #code-python(3.6)
    import matplotlib.pyplot as plt
    x = [1,2,3,4]   #x值
    y = [5,4,3,2]   #y值
    plt.bar(x,y)   	#绘制柱状图
    plt.show()		#显示柱状图
    

    函数说明

    bar(x,y,color='r')
    

    返回值说明

    柱状图
    

    参数说明

    x		自变量
    y		因变量
    color	柱条的颜色	
    

    实例2:绘制多个系列的y值

    #!/usr/bin/python3
    #code-python(3.6)
    import matplotlib.pyplot as plt
    x = [1,2,3]   #数据集
    y1 = [0,1,2]
    y2 = [3,4,5]
    plt.bar(x,y1,bottom=y1,color ='r')    #绘制柱状图,先描绘(x,y1),在y的基础上增加y2,增加的部分被标为红色
    plt.show()	#显示柱状图
    

    实例3:z值只有一个的三维柱状图

    #!/usr/bin/python3
    #code-python(3.6)
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    x = [1, 2, 3]
    y = [4,5,6]
    z = 2
    ax.bar(x, y, zs=z, color='blue', alpha=0.8)
    plt.show()
    

    实例4:立体3D柱状图

    #!/usr/bin/python3
    #code-python(3.6)
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    fig = plt.figure()  #设置画布
    #将画布分为1行1列,共1个子图,并定位在第1个子图
    ax = fig.add_subplot(111, projection='3d')  #画3D图
    x = [1, 2, 3]
    y = [4,5,6]
    z = [7,8,9]
    ax.bar(x, y, zs=z,zdir='y',color='blue')    #将y值刻在z轴
    plt.show()
    

    实例5:销售立体柱状图

    #!/usr/bin/python3
    #code-python(3.6)
    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    fig = plt.figure()  #设置画布
    #将画布分为1行1列,共1个子图,并定位在第1个子图
    ax = fig.add_subplot(111, projection='3d')  #画3D图
    for z in [2011, 2012, 2013, 2014,2015,2016]:
         xs = range(1,13)   #[1,12]等差数列,步长为1
         ys = 1000 * np.random.rand(12) #一行数,共12个,范围是[0,1000)
         ax.bar(xs, ys, zs=z, zdir='y', color='blue', alpha=0.8)
    plt.title('sale')
    plt.show()
    
    展开全文
  • 当有大量面板数据摆在我们面前时,使用一个三维柱状图来进行数据分析是非常直观的;这里推荐pyecharts第三方库;中文文档地址:http://pyecharts.herokuapp.com/非常的好用; 这里我们的数据大概是这样的: 上...
  • Python-绘制3D柱形本文主要讲解如何使用python绘制u三维的柱形,可以得到1所示的效果。1源代码如下:1 import numpy as np2 import matplotlib.pyplot as plt3 from mpl_toolkits.mplot3d import Axes3D45 #...
  • Matplotlib绘制三维柱状图

    千次阅读 2021-01-07 10:22:55
    import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d.axes3d ...# 个维度:⽉、周、销量 fig = plt.figure(figsize=(9,6)) ax3 = Axes3D(fig) for m in month: ax3.bar(np.arange(4),
  • 您需要使用不支持图例的proxy artist。此代码:from mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as pltimport numpy as npfig = plt.figure()ax = fig.add_subplot(111, projection='3d')x, y = ...
  • Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现。但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三维图像时,同样需要载入 pyplot 模块。...
  • ax = fig.gca(projection="3d", title="plot title") # 设置坐标轴图标 ax.set_xlabel("X Label") ax.set_ylabel("Y Label") ax.set_zlabel("Z Label") # 画三维柱状图 ax.bar3d(xpos, ypos, zpos, dx, dy, dz, ...
  • Python绘制三维立体

    千次阅读 2021-02-22 17:42:07
    python绘制三维立体
  • 在条形中,值以水平条或垂直列的形式展示。垂直、水平和堆叠条形¶下列设置影响不同的图表类型:1. 通过“type”设置为“col”或“bar”,在垂直条形和水平条形之间切换。2. 使用堆叠图表时,需要将overlap...
  • 本文的文字及图片来源于网络,仅供学习、交流使用,不具有...问题描述:绘制三维柱状图,控制每个柱的颜色,使其各不相同。 思考一下,尝试着写一写,然后到文末查看参考代码和运行结果。 参考代码: 运行结果: ...
  • 如果要绘制三维图形,首先需要使用下面的语句导入相应的对象:from mpl_toolkits.mplot3d import Axes3D然后使用下面的两种方式之一声明要创建三维子图:ax = fig.gca(projection='3d')ax = plt.subplot(111, ...
  • python实现三维柱状图 代码: import numpy as np import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111, projection='3d') x = np.arange(1,4+1,1) y = np.arange(1,4+1,1) hist = (np...
  • 如果要绘制三维图形,首先需要使用下面的语句导入相应的对象:from mpl_toolkits.mplot3d import Axes3D然后使用下面的两种方式之一声明要创建三维子图:ax = fig.gca(projection='3d')ax = plt.subplot(111, ...
  • 本文主要讲解如何使用python绘制三维的柱形,如下图源代码如下:import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D#构造需要显示的值X=np.arange(0, 5, step=1)#X轴的...
  • python使用matplotlib绘制折线教程Matplotlib是一个...下面这篇文章主要介绍了python使用matplot ...Python使用matplotlib绘制三维曲线本文主要演示如何使用matplotlib绘制三维图形 代码如下: # -*- coding: ...
  • Python:利用python编程实现三维图像绘制展示(六面体旋转、三维柱状体、下雪场景等) 目录 利用python编程实现三维图像绘制展示(六面体旋转、三维柱状体、下雪场景等) 1、实现六面体旋转 2、三维柱状...
  • 本文通过Python2.7+Matplotlib在Pycharm平台实现三维/四维数据的柱状图绘制

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,081
精华内容 832
关键字:

python绘制三维柱状图

python 订阅