相关疑难解决方法(0)

重绘后Matplotlib 3D散射颜色丢失

此问题相关,我想要一个每个点都有规定颜色的3D散点图.问题中发布的示例适用于我的系统,但在第一次重绘后(例如保存后或旋转图像时)颜色似乎丢失,即所有点都以蓝色绘制,并带有通常的深度信息.请参阅下面的修改示例.

我的系统是Python 2.6.7,在mac 10.8.0上从macports安装了matplotlib 1.1.0.我使用MacOSX后端.

有谁知道如何规避这个问题?

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# Create Map
cm = plt.get_cmap("RdYlGn")

x = np.random.rand(30)
y = np.random.rand(30)
z = np.random.rand(30)

col = np.arange(30)

fig = plt.figure()
ax3D = fig.add_subplot(111, projection='3d')
ax3D.scatter(x, y, z, s=30, c=col, marker='o', cmap=cm)

plt.savefig('image1.png')
plt.savefig('image2.png')
Run Code Online (Sandbox Code Playgroud)

这是两个图像,我得到: 第一张图片 第二张图片

python matplotlib

14
推荐指数
1
解决办法
3514
查看次数

matplotlib 3D 绘图按值范围进行颜色编码

我正在尝试生成具有两种颜色的 3D 绘图。一种颜色表示大于零的值,另一种颜色表示小于零的值。我只是不知道如何在代码中实现这一点。

这是我当前的代码:

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import matplotlib.tri as mtri
import pandas as pd
import numpy as np

df = pd.DataFrame.from_csv('...temp\\3ddata.csv', sep = ',', index_col  = False)

fig = plt.figure()
ax = fig.gca(projection='3d')

x = df['P']
y = df['T']
z = df['S']

ax.plot(x, y, zs= 0, zdir = 'z', c= 'r')

ax.scatter(x,y, z, c = 'b', s = 20)

ax.set_xlabel('Pressure (Bar)')
ax.set_zlabel('Residual subcooling (J*Kg-1*K-1')
ax.set_ylabel('Temperaure of LNG (K)')

plt.show()
Run Code Online (Sandbox Code Playgroud)

三维绘图

我已经阅读了一些示例,但无法将它们应用到我的数据中。是否可以用 …

python matplotlib pandas

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

matplotlib ×2

python ×2

pandas ×1