首页 > 数据库 > 数据库开发技术 > Python绘制三维图
平常我们看到的物体一般是三维空间中的立体图形,今天跟大家一起来学习用Python绘制立体图形。
导入绘图数据
绘制三维图
2.1 绘制三维线性图
2.2 用股票数据绘制三维折线图
2.3 用股票数据绘制三维散点图
2.4 用股票数据绘制三维柱状图
2.5 用bar3d函数绘制三维柱状图

import osimport pandas as pdos.chdir(r'F:\公众号\6.学习python') #设置成存放数据文件夹路径date = pd.read_csv("股票数据.csv", encoding = 'GBK') #读取数据


1 绘制三维线性图
import matplotlib.pyplot as plt #导入库from mpl_toolkits.mplot3d import Axes3D #导入库plt.rcParams['font.sans-serif'] = ['SimHei'] #解决中文显示问题plt.rcParams['axes.unicode_minus'] = False # 解决中文显示问题plt.subplot(projection='3d') #设置3D绘图空间x = [0, 0, 1, 4, 5] #设置x轴坐标y = [1, 1, 1, 1, 2] #设置y轴坐标z = [2, 0, 3, 4, 5] #设置z轴坐标plt.plot(x, y, z) #绘制5个点对应连线的三维线性图plt.xlabel('x轴') #给横轴命名plt.ylabel('y轴') #给纵轴命名plt.title('三维线图') #添加标题plt.show()

2 用股票数据绘制三维折线图
date = date.set_index('日期') #把日期列设为索引date.index = pd.to_datetime(date.index) #把索引转为时间格式result = date[['收盘价']].groupby([date.index.year, date.index.month]).mean() #按年和月分组对收盘价求均值plt.subplot(projection='3d') #设置3D绘图空间plt.plot(result.index.codes[0], result.index.codes[1], result['收盘价']) #plt.xlabel('对应年标签') #给x轴添加标签plt.ylabel('对应月标签') #给y轴添加标签plt.title('按年月绘制收盘价的变化趋势三维图') #添加标题plt.show()

3 用股票数据绘制三维散点图
result = date.groupby([date.index.year, date.index.month]).agg(val1=('收盘价', 'mean'), val2=('换手率', 'mean'), val3=('成交笔数', 'mean'))ax = plt.subplot(projection='3d') #设置3D绘图空间ax.scatter(result['val1'], result['val2'], result['val3']) #绘制散点图plt.xlabel('按年月统计收盘价均值') #给x轴添加标签plt.ylabel('按年月统计换手率均值') #给y轴添加标签plt.title('股票数据三维散点图') #添加标题plt.show()

4 用股票数据绘制三维柱状图
import matplotlib.cm as cm #导入库result = date[['收盘价']].groupby([date.index.year, date.index.month]).mean() #按年月统计收盘价均值plt.subplot(projection='3d') #设置3D绘图空间plt.bar(result.index.codes[1], result['收盘价'], zs=result.index.codes[0], color=cm.ScalarMappable().to_rgba(result.index.codes[0])) #按年月绘制收盘价3维条形图sm = plt.cm.ScalarMappable(norm=plt.Normalize(vmin=result.index.codes[0].min(), vmax=result.index.codes[0].max()))plt.colorbar(sm) #显示对应数值的颜色条plt.xlabel('对应月标签') #给x轴添加标签plt.ylabel('每月对应收盘价均值') #给y轴添加标签plt.title('三维条形图') #添加标题plt.show()

5 用bar3d函数绘制三维柱状图
result = date[['收盘价']].groupby([date.index.year, date.index.month]).mean() #按年月统计收盘价均值ax = plt.subplot(projection='3d') #设置3D绘图空间ax.bar3d(x=result.index.codes[0], y=result.index.codes[1], z=0, dx=1, dy=1, dz=result['收盘价'], color=cm.ScalarMappable().to_rgba(result.index.codes[0])) #绘制3d直方图plt.xlabel('年对应标签') #给x轴添加标签plt.ylabel('月对应标签') #给y轴添加标签plt.title('3维直方图') #添加标题plt.show()

至此,在Python中绘制三维图已全部讲解完毕,感兴趣的同学可以自己实现一遍
。


扫一扫关注我
19967879837
投稿微信号、手机号
原文作者:阿黎逸阳的代码;如有侵权,请联系管理员删除。