Python如何画出来六维图-创新互联
这篇文章主要介绍了Python如何画出来六维图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联公司是一家集网站建设,阳东企业网站建设,阳东品牌网站建设,网站定制,阳东网站建设报价,网络营销,网络优化,阳东网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。我们的大脑通常最多能感知三维空间,超过三维就很难想象了。尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面。
不过,我们仍然可以绘制出多维空间,今天就来用 Python 的 plotly 库绘制下三维到六维的图,看看长什么样。
数据我们使用一份来自 UCI 的真实汽车数据集,该数据集包括 205 个样本和 26 个特征,从中选择 6 个特征来绘制图形:
基础工作
安装好 plotly 包:
pip install plotly
加载数据集(文末会提供):
import pandas as pd data = pd.read_csv("cars.csv")
下面我们先绘制基础的二维图表,使用两个 RPM 和 Speed 两个特征即可:
绘制 2-D 图
代码实现如下:
import plotly import plotly.graph_objs as go #绘制散点图 fig1 = go.Scatter(x=data['curb-weight'], y=data['price'], mode='markers') #绘制布局 mylayout = go.Layout(xaxis=dict(title="curb-weight"), yaxis=dict( title="price")) #绘图 html plotly.offline.plot({"data": [fig1], "layout": mylayout}, auto_open=True)
保存为 html 文件打开可以生成交互界面,也可以保存为 png 图片。
下面增加特征来绘制三维图。
绘制 3-D 图
可以使用 plotly 的 plot.Scatter3D 方法绘制三维图:
代码实现如下:
fig1 = go.Scatter3d(x=data['curb-weight'], y=data['horsepower'], z=data['price'], marker=dict(opacity=0.9, reversescale=True, colorscale='Blues', size=5), line=dict (width=0.02), mode='markers') mylayout = go.Layout(scene=dict(xaxis=dict( title="curb-weight"), yaxis=dict( title="horsepower"), zaxis=dict(title="price")),) plotly.offline.plot({"data": [fig1], "layout": mylayout}, auto_open=True, filename=("3DPlot.html"))
如何绘制更高维度的图呢?显然无法通过扩展坐标轴的形式,不过有个小技巧就是制造一个虚拟维度,可以用不同颜色、形状大小、形状类别来入手。这样就可以显示第四个维度了。
绘制 4-D 图
下面我们将第四个变量——车辆油耗(city-mpg)添加到原先的三维图中,用颜色深浅表示,这样就绘制出了四维图。可以看到当其他三个指标(马力、车身重量、车价格)越高时:车辆油耗是越少的。
绘制 5-D 图
基于这样的思想,我们还可以通过修改圆形大小再增加一个维度——发动机尺寸(engine-size)变成五维图:
我们仍然可以比较容易地地发现:车越贵,发动机尺寸越大这样的规律。
绘制 6-D 图
接着还可以通过更改形状的方式增加第六个维度——车门数,圆形表示四车门,方形表示两车门。通常两个车门的都是昂贵的豪华跑车,在图中也可以看出方形主要集中在价格比较高的区域。
这样我们就从普通的二维图扩展到了高维图,当然还可以继续拓展,不过分辨起来会越来越困难。
感谢你能够认真阅读完这篇文章,希望小编分享的“Python如何画出来六维图”这篇文章对大家有帮助,同时也希望大家多多支持创新互联成都网站设计公司,关注创新互联成都网站设计公司行业资讯频道,更多相关知识等着你来学习!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章题目:Python如何画出来六维图-创新互联
分享网址:http://hbruida.cn/article/dcjojh.html