【问题标题】:How to remove 0 levels line in Python contour?如何删除 Python 轮廓中的 0 级线?
【发布时间】:2021-10-17 23:31:27
【问题描述】:

(再次问同样的问题,因为它被标记为重复,但我无法用建议的解决方案解决它) 我是 python 新手,正在尝试绘制等高线图。我得到了预期的结果,但想从我的图表中删除 levels=0 。请帮忙。这是我的代码:

import numpy as np
from scipy.interpolate import Rbf
import matplotlib.pyplot as plt

df = (
    spark.read.csv('/home/Downloads/test1.csv', header=True, inferSchema=False, sep='|')
    .withColumn('x', expr("cast(Width as double)"))
    .withColumn('y', expr("cast(Length as double)"))
    .withColumn('z', expr("cast(Depth as double)"))
)

data = df.toPandas()
# Interpolate these onto a regular grid
xi, yi = np.meshgrid(data.x, data.y)
func = Rbf(data.x, data.y, data.z, function='linear')
zi = func(xi, yi)
# plt.contour(xi, np.flip(yi), zi)
qwe = plt.contour(xi, yi, zi)
plt.colorbar()

Sample data

这是我当前输出的图片。(黄线是我要删除的) Plot pic

【问题讨论】:

  • 缺少导入,未定义名称“数据”,请提供 mre stackoverflow.com/help/minimal-reproducible-example
  • 如果你阅读文档,你可以看到contour有一个参数levels
  • @Stefan 是的,我想删除级别 = 0。
  • @pippo1980 我已经在谷歌驱动器中添加了示例数据并分享了链接,还更新了代码以完成代码。谢谢

标签: python interpolation contour


【解决方案1】:

以下对我有用。

qwe = plt.contour(xi, yi, zi).collections[-1].remove()
plt.colorbar()

这是完整的示例 How to remove/omit smaller contour lines using matplotlib

【讨论】:

    猜你喜欢
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 2011-03-31
    • 2020-01-16
    相关资源
    最近更新 更多