python绘制三维图散点图_在matplotlib中绘制三维散点图

本文介绍如何在matplotlib中创建三维散点图。通过示例代码展示了如何使用numpy生成随机数据,然后利用matplotlib的Axes3D绘制三维图,设置颜色、标签和透明度效果。并提供了针对3D图例的解决方案。
摘要由CSDN通过智能技术生成

尝试将“ax.scatter”替换为ax.plot,可能使用“o”参数来获得类似的圆。这将修复透明度和图例。import matplotlib as mpl

from mpl_toolkits.mplot3d import Axes3D

import numpy as np

import matplotlib.pyplot as plt

from numpy.random import random

mpl.rcParams['legend.fontsize'] = 10

fig = plt.figure(1)

fig.clf()

ax = Axes3D(fig)

datasets = random((8,100,3))*512

my_labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

colors = ['k', "#B3C95A", 'b', '#63B8FF', 'g', "#FF3300",

'r', 'k']

index = 0

for data, curr_color in zip(datasets, colors):

ax.plot(np.log2(data[:, 0]), np.log2(data[:, 1]),

np.log2(data[:, 2]), 'o', c=curr_color, label=my_labels[index])

index += 1

ax.set_zlim3d([-1, 9])

ax.set_ylim3d([-1, 9])

ax.set_xlim3d([-1, 9])

ax.set_xticks(range(0,11))

ax.set_yticks([1,2,8])

ax.set_zticks(np.arange(0,9,.5))

ax.legend(loc = 'upper left')

plt.draw()

plt.show()

我添加了一些行和调整,以获得一些样本数据,并使您的演示工作的其余部分。我想你能让它工作。

设置勾号需要2010年8月的mplot3d更新,如here所述。我从Sourceforge得到了最新的mplot3d。我不太确定Matplotlib 1.0.1是否包含这个最新的更新,因为我仍然在用Matplotlib 1.0.0运行Python 2.6。

编辑

一个快速且肮脏的图例虚拟图,同时保持从散射中获得的3d透明度效果:index = 0

for data, curr_color in zip(datasets, colors):

ax.scatter(np.log2(data[:, 0]), np.log2(data[:, 1]),

np.log2(data[:, 2]), 'o', c=curr_color, label=my_labels[index])

ax.plot([], [], 'o', c = curr_color, label=my_labels[index])

index += 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值