c = ax.scatter(data[:,0], data[:,1], data[:,2], c=data[:,3], s=8, cmap='cool')里面cool还有什么选择
时间: 2024-01-18 07:04:54 浏览: 50
除了`cool`以外,`matplotlib`库还提供了很多其他的`colormap`供选择。以下是一些常用的`colormap`:
- `viridis`
- `plasma`
- `inferno`
- `magma`
- `cividis`
- `Greys`
- `Purples`
- `Blues`
- `Greens`
- `Oranges`
- `Reds`
- `YlOrBr`
- `YlOrRd`
- `OrRd`
- `PuRd`
- `RdPu`
- `BuPu`
- `GnBu`
- `PuBu`
- `YlGnBu`
- `PuBuGn`
- `BuGn`
- `YlGn`
你可以根据自己数据的特点来选择不同的`colormap`,如果你不确定哪种`colormap`最适合你的数据,请尝试不同的`colormap`并观察效果,以便找到最佳选择。
相关问题
import numpy as np import pandas as pd import time import matplotlib.pyplot as plt # 指定文件名 inputFilename = './file.dpmrpt' outputFilename = 'out' # 分组数 N = 101 sm = 1.3e-4 # 计时开始 tic = time.time() # 规范化数据 print('规范化数据中...') content = '' with open(inputFilename) as f: content = f.read() content = content.replace( '(', '' ) content = content.replace( ')', '' ) content = content.replace( 'injection-0:', '' ) # 输出文件名 filename = './file.dpmrpt.csv' print('规范化写出到{}!'.format( filename ) ) with open(filename,'w') as csv: csv.write(content) print('规范化完成!') # 加载规范化后的数据 print('加载规范化后的数据...') data = np.loadtxt(filename, skiprows=17)#读取文件并跳过前两行数据 x, y, z, u, v, w, ve = data[:,1], data[:,2], data[:,3], data[:,4], data[:,5], data[:,6], data[:,7] bin = np.linspace(x.min(), x.max(), N)#创建等差数列,将X分成N个组 out = np.zeros((N-1,7))#out为N-1行,4列矩阵 z_sym = z.copy() z_sym = -z_sym z = np.concatenate((z,z_sym))/0.002 x = np.concatenate((x,x))/0.002 y = np.concatenate((y,y))/0.002 u = np.concatenate((u,u)) print('横截面平均完成。') from mpl_toolkits.mplot3d import Axes3D fig = plt.figure(figsize=(12,10)) #ax1 = plt.axes(projection='3d') s1 = 1e-2 c1 = 40.0*u ax = fig.add_subplot(111,projection='3d') #这种方法可以画多个子图 ax.scatter3D(x, z, y, s = s1, c = c1, cmap='plasma',marker = ',') ax.set_xlabel('x/D', fontname='Times New Roman') ax.set_ylabel('z/D', fontname='Times New Roman') ax.set_zlabel('y/D', fontname='Times New Roman') ax.set_xlim([-15.0,30.0]) ax.set_ylim([-10.0,10.0]) ax.set_zlim([0.0,25.0]) ax.set_box_aspect(aspect=(45,20,25)) ax.tick_params(axis='x', which='major', pad=8, labelsize=8) ax.tick_params(axis='y', which='major', pad=8, labelsize=8) ax.tick_params(axis='z', which='major', pad=8, labelsize=8) plt.show() # 计时结束 toc = time.time() print('Time cost {} s'.format(toc-tic )) print('结束'),如何调整输出的三维图到合适的视角
你可以使用 `view_init()` 方法来调整三维图的视角。这个方法接受两个参数:`elev` 和 `azim`,分别代表仰角和方位角。你可以通过改变这两个参数的值来调整视角。例如,如果你想要将视角调整为从正上方俯视,可以将 `elev` 设为 90,`azim` 设为 0。代码示例如下:
```python
ax.view_init(elev=90, azim=0)
```
你可以根据自己的需要调整 `elev` 和 `azim` 的值,以得到合适的视角。
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn import tree # 生成所有测试样本点 def make_meshgrid(x, y, h=.02): x_min, x_max = x.min() - 1, x.max() + 1 y_min, y_max = y.min() - 1, y.max() + 1 xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h)) return xx, yy # 对测试样本进行预测,并显示 def plot_test_results(ax, clf, xx, yy, **params): Z = clf.predict(np.c_[xx.ravel(), yy.ravel()]) Z = Z.reshape(xx.shape) ax.contourf(xx, yy, Z, **params) # 载入iris数据集(只使用前面连个特征) iris = datasets.load_iris() X_train,X_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size = 0.20,random_state = 20) # 创建并训练决策树 clf = tree.DecisionTreeClassifier() # 决策树分类器 clf = clf.fit(X_train,y_train) # 生成所有测试样本点 plt.figure(dpi=200) # feature_names=iris.feature_names设置决策树中显示的特征名称 tree.plot_tree(clf,feature_names=iris.feature_names,class_names=iris.target_names) # 显示测试样本的分类结果 title = ('DecisionTreeClassifier') fig, ax = plt.subplots(figsize = (5, 5)) plt.subplots_adjust(wspace=0.4, hspace=0.4) plot_test_results(ax, clf, xx, yy, cmap=plt.cm.coolwarm, alpha=0.8) # 显示训练样本 ax.scatter(X0, X1, c=y, cmap=plt.cm.coolwarm, s=20, edgecolors='k') ax.set_xlim(xx.min(), xx.max()) ax.set_ylim(yy.min(), yy.max()) ax.set_xlabel('x1') ax.set_ylabel('x2') ax.set_xticks(()) ax.set_yticks(()) ax.set_title(title) plt.show()
这是一个使用决策树分类器对鸢尾花数据集进行训练和预测的Python代码。具体实现过程如下:
1.首先通过sklearn库中的datasets模块加载鸢尾花数据集,并使用train_test_split函数将数据集划分为训练集和测试集。
2.创建一个决策树分类器,并将其与训练集进行拟合。
3.使用plot_tree函数可视化生成的决策树,其中feature_names参数设置特征名称,class_names参数表示分类标签的名称。
4.使用make_meshgrid函数生成测试样本点的网格,并使用plot_test_results函数对测试样本进行预测,并将分类结果可视化显示在网格上。
5.最后使用scatter函数将训练样本显示在图像上,并设置相关的标题、坐标轴和刻度等属性。
该代码可以帮助我们更好地理解决策树分类器的工作原理,并对其在实际应用中的表现有更深入的了解。
阅读全文