4

在此处输入图像描述

我已经设法使用 matplotlib 创建了这个图。我想从名为 B 的轴中删除 0.2、0.4、0.6..,并将名为 A 的轴中的轴间隔从 200 更改为 100。我已经尝试这样做有一段时间了……有什么建议吗? ?

这是我写的代码。

from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
f_attributes=open("continuous.data","r")
x=[]
y=[]
spam=[]
count=1
skew=[]
fig = plt.figure()
ax = Axes3D(fig)
total=[]
while count<=1024:

attributes=f_attributes.readline()
attributes=attributes.replace(".\n","") 
attributes=attributes.split(',')
classification=int(attributes[10].replace(".\n",""))
if float(attributes[8]) >=0:

    skew.append(float(attributes[8]))
    x.append(count)
    y.append(classification)


    if classification == 0:
        ax.scatter(x, y, skew, c='g', marker='o')

    else:
        ax.scatter(x, y, skew, c='r', marker='o')

    x=[]
    y=[]
    skew=[]
count+=1


ax.set_xlabel('A')
ax.set_ylabel('B')
ax.set_zlabel('C')
plt.show()

请忽略不相关的细节..

4

1 回答 1

3

这实际上并不容易,您必须深入研究对象。我首先假设由于 Axes3D 是基于 Axes 的,因此您可以使用该set_yticklabels方法,但显然这不起作用。查看代码,您可以看到y轴是通过w_yaxis设置的,一个axis3d.YAxis,它最终基于axis.Axis,它具有该set_ticklabels方法,并且这个工作:

ax.w_yaxis.set_ticklabels([])

“将名为 A 的轴中的轴间隔从 200 更改为 100”是什么意思?

于 2011-09-25T09:39:51.947 回答