热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python画彩色立体柱状图

上图看效果首先准备数据,必备的两个,pandas和numpy然后需要使用画图的库:importmatplotlib.pyplotasp

上图看效果

 

首先准备数据,必备的两个,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

 


推荐阅读
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 在《ChartData类详解》一文中,我们将深入探讨 MPAndroidChart 中的 ChartData 类。本文将详细介绍如何设置图表颜色(Setting Colors)以及如何格式化数据值(Formatting Data Values),通过 ValueFormatter 的使用来提升图表的可读性和美观度。此外,我们还将介绍一些高级配置选项,帮助开发者更好地定制和优化图表展示效果。 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 实验九:使用SharedPreferences存储简单数据
    本实验旨在帮助学生理解和掌握使用SharedPreferences存储和读取简单数据的方法,包括程序参数和用户选项。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在探讨如何在Android的TextView中实现多彩文字与多样化字体效果时,本文提供了一种不依赖HTML技术的解决方案。通过使用SpannableString和相关的Span类,开发者可以轻松地为文本添加丰富的样式和颜色,从而提升用户体验。文章详细介绍了实现过程中的关键步骤和技术细节,帮助开发者快速掌握这一技巧。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 如何使用 `org.opencb.opencga.core.results.VariantQueryResult.getSource()` 方法及其代码示例详解 ... [详细]
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
author-avatar
怪兽锅锅PENGL
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有