我正在尝试使用matplotlib
在jupyter-notebook
中绘制3D图。我使用的是kaggle的数据集。
架构如下
| LotArea|销售价格|YrSold|泳池区|
| - -----|- -----|- -----|- -----|
| 八四五○| 208500|二零零八年|0|
| 九千六百|181500|二零零七年|0|
| ......这是什么?|......这是什么?|......这是什么?|......这是什么?|
当我用线性轴绘图时,一切都没问题:
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10, 15))
ax = plt.axes(projection='3d')
area_data = dataset_chosen["LotArea"]
price_data = dataset_chosen["SalePrice"]
year_data = dataset_chosen["YrSold"]
cmhot = plt.get_cmap("hot")
ax.scatter3D(xs=area_data, ys=price_data, zs=year_data, c=dataset_chosen["PoolArea"])
#ax.set_xscale("log")
ax.set_xlabel("Area")
ax.set_ylabel("Price")
ax.set_zlabel("Year")
plt.show()
x1c 0d1x当我尝试使x
标度为对数(取消注解#ax.set_xscale("log")
)时,图看起来不像图。
如何使X刻度对数化?
1条答案
按热度按时间aiazj4mn1#
如果你在这里检查,有一个关于同样的讨论。这是3D图内的限制/错误。如前所述,有一个变通办法...基本上,你需要手动进行缩放。下面是更新后的代码。希望这就是你要找的...注意,我使用log 10,因为数字对齐得很好。