上图看效果

首先准备数据,必备的两个,pandas和numpy

然后需要使用画图的库:

import matplotlib.pyplot as plt

这个库就是用来画图的,很多画图流程和matlab十分十分像

2D条形图

教程网上很多,主要就是如何给条形图按照值的大小涂上不同的颜色,重要步骤在3~6行,ax.bar()中填入color=字段就可

def draw_2Dfig(datalist, title, arg, average):index = list(range(1, len(datalist) + 1))fig = plt.figure(num=1, figsize=(20, 10))norm = plt.Normalize(0, 100)norm_values = norm(datalist)map_vir = cm.get_cmap(name='winter_r')colors = map_vir(norm_values)ax = fig.add_subplot(111)ax.bar(index, datalist, color=colors)ax.set_xlabel('OBU location')ax.set_ylabel(arg + '/%')ax.set_title(title)ax.plot(index, [average] * len(datalist), '--', linewidth=3, color='orange')plt.grid(axis='y')x = 100y = averageax.text(x, y + 1, 'average = {}'.format(average), fontsize=25)plt.show()return fig

3D条形图

第一个for循环是对数据进行处理,这是项目的要求,本文主要在画图,可以忽略,对于三维柱状图的绘制也可参考其他,这里主要在意如何上色,和2D一样,还是有相同的语句“norm=plt.Normalize(0,100)...”后面的四个语句,主要是获得colors,然后在ax.bar3d()中填进去,四个语句一定要写在Z=Z.ravel()的后面。

后面还加了colorbar,唉就都一样的语句,反正能跑通,愿意了解更多自行学习

def draw_3Dfig_straight(datalist, title, arg):anewlist = []s = 0for i in range(len(datalist)):s = s + datalist[i]if i % 6 == 5:anewlist.append(s / 6)s = 0else:passX = np.arange(0, len(anewlist), step=1)Y = np.arange(0, len(anewlist), step=1)Z = np.zeros(shape=(len(anewlist), len(anewlist)))index = 0for i in range(len(anewlist)):for j in range(len(anewlist)):if i == len(anewlist) / 2:Z[i, j] = anewlist[index]index = index + 1xx, yy = np.meshgrid(X, Y)X, Y = xx.ravel(), yy.ravel()bottom = np.zeros_like(X)Z = Z.ravel()norm = plt.Normalize(0, 100)norm_values = norm(Z)map_vir = cm.get_cmap(name='winter_r')colors = map_vir(norm_values)width = 0.7height = 0.7fig = plt.figure()ax = fig.gca(projection='3d')c = ['g'] * len(Z)ax.bar3d(X, Y, bottom, width, height, Z, color=colors, shade=True)  # , edgecolor='black'sm = cm.ScalarMappable(cmap=map_vir, norm=norm)sm.set_array([])plt.colorbar(sm)ax.set_xlabel('X')ax.set_ylabel('Y')ax.set_zlabel('Z(value)')plt.show()return fig

python画彩色立体柱状图相关推荐

  1. 使用python画3D立体爱心

    原理 1.使用python中的mtplotlib库. 2.立体爱心面公式 (x2+94y2+z2−1)3−980y2∗z3−x2∗z3=0(x^2+\frac{9}{4}y^2+z^2-1)^3-\f ...

  2. python 画条形图(柱状图)

    文章目录 1. 竖放条形图 bar(x, height, [width], **kwargs) 2. 横放条形图 bar(x, width, [height], **kwargs) 3. 并列条形图 ...

  3. python怎么画条形图-Python 画 直方图/条形图/柱状图

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u011489887/article/d ...

  4. python画彩色城墙_Python绘制城堡-(有惊喜!!!)

    大城堡在这 importturtleimporttime turtle.setup(1000,1000,200,200)'''背景'''turtle.bgcolor('#191970')'''笔的大小 ...

  5. python画彩色_用python画彩色的小猪佩奇

    # !/usr/bin/env python2 # coding=utf-8 import turtle as t t.pensize(4) t.hideturtle() t.colormode(25 ...

  6. 用python画气球_用python画彩色的小猪佩奇

    # !/usr/bin/env python2 # coding=utf-8 import turtle as t t.pensize(4) t.hideturtle() t.colormode(25 ...

  7. python random库画多彩蟒蛇_python画彩色蟒蛇

    小白怎样用python画彩色蟒蛇 相信很多刚学python的小伙伴们知道画蟒蛇这个python中的神例! 但是你们知道怎样画出一条可爱的彩色小蟒蛇吗? 下面我将教你们如何用最简单的代码写出属于你的小蟒 ...

  8. python绘制彩色蟒蛇代码_python画彩色蟒蛇

    小白怎样用python画彩色蟒蛇 相信很多刚学python的小伙伴们知道画蟒蛇这个python中的神例! 但是你们知道怎样画出一条可爱的彩色小蟒蛇吗? 下面我将教你们如何用最简单的代码写出属于你的小蟒 ...

  9. Python画三个简单图形

    文章目录 前言 一.Python画彩色弹球 二.Python画随机螺旋线 三.Python画大黄鸡 总结 前言 前几天介绍完了Python,今天,我们再来做几个简单的图形. 一.Python画彩色弹球 ...

最新文章

  1. Briefings in Bioinformatics:微生物基因组学和功能基因组学相关软件和数据库的研究进展
  2. ubuntu安装VMware workstation pro 15
  3. 饥饿的盛世读后感_满足任何设计师饥饿感的原型制作工具
  4. CC2540低功耗的内幕
  5. PAT乙级资料集-2022.04.06
  6. vi保存退出:x与:wq的区别
  7. CXF整合Spring开发WebService
  8. perl 字符串删除末尾几个字符_perl 第六弹 变量 II
  9. Spring的事务机制
  10. Datawhale编程学习之数组和链表(1)
  11. Android 多语言切换
  12. linux文件系统与模型【笔记】 surper block/inode/dentry/file
  13. CDN的基本概念与原理
  14. HDU 6148 Valley Numer (数位dp)
  15. 香侬专栏 | 独家对话斯坦福大学计算机系教授Percy Liang
  16. 雷军站台余承东看衰 游戏手机是个伪概念吗?
  17. windows 和 Linux 查看IP属性(ipconfig,ifconfig)
  18. Vue + ElementUI 实现后台管理系统模板 -- 前端篇(四):定义主页面
  19. 通过修改rom包永久获取root权限和所有应用调试功能ro.debuggable
  20. Excel如何使用SUM函数求和

热门文章

  1. ElasticSearch【从入门到服务器部署项目案例】详细教程
  2. Javascript错误处理——try...catch
  3. 2021年西式面点师(中级)复审考试及西式面点师(中级)模拟考试
  4. 计算机实时控制和过程控制,实时控制程序
  5. JAVA 画图 给图片底部添加文字标题
  6. 基于物联网技术和RFID电子客票的铁路自动检票机
  7. 在一个程序中什么算是亮点_算法的五个重要特性是
  8. leetcode find kth
  9. YOLO5 旋转模型图片标注及训练
  10. GoLang 调用 .so 文件