【20220113】【Python】Python中使用matplotlib作图,如何设置不显示坐标值/坐标刻度?

1. 不显示坐标值

plt.xticks([])
plt.yticks([])

2. 不显示坐标刻度

plt.axis('off')

3. 举个栗子~

import matplotlib.pyplot as plt
import math

# 生成信号
fs = 1000
f = 10
t = list(range(0, 1000))
t = [x/fs for x in t]
a = [math.sin(2 * math.pi * f * x) for x in t]

# 作图
plt.figure()
plt.subplot(2, 2, 1)
plt.plot(a)
plt.title('Figure-1')
plt.subplot(2, 2, 2)
plt.plot(a)
plt.xticks([])
plt.title('Figure-2')
plt.subplot(2, 2, 3)
plt.plot(a)
plt.yticks([])
plt.title('Figure-3')
plt.subplot(2, 2, 4)
plt.plot(a)
plt.axis('off')
plt.title('Figure-4')
plt.show()

运行结果:

         (参考:python 画图工具matplotlib 去掉坐标轴和坐标的方法

### 回答1: 这段代码对列表`squares`作图时会报错,因为`plot()`函数的参数需要是数值类型的数组,而能是列表。为了修复这个问题,可以将列表转换为数组,如下所示: ``` import numpy as np import matplotlib.pyplot as plt squares = [1, 4, 9, 16, 25] squares = np.array(squares) fig, ax = plt.subplots() ax.plot(squares) plt.show() ``` 这样就能正常作图了。 ### 回答2: 在这段代码中,出现了无法哈希的类型是list的错误。原因是在ax.plot()函数中传入了一个列表squares作为参数,而plot函数默认是将传入的参数作为y值进行绘图。 要修复这个错误,可以修改代码如下: ``` import matplotlib.pyplot as plt squares = [1,4,9,16,25] x_values = range(1, len(squares)+1) # 生成x轴坐标值 fig, ax = plt.subplots() ax.plot(x_values, squares) # 将x轴坐标和y轴坐标传入plot函数中 plt.show() ``` 在修改后的代码中,我们使用了range()函数生成了与squares列表长度相同的x轴坐标值x_values。然后,将x_values和squares作为参数传入ax.plot()函数中。 这样,就解决了无法哈希的类型是list的错误,并且可以成功运行代码并绘制出对应的图形。 ### 回答3: 报错提示的原因是传递给plot()函数的参数是一个列表,而plot()函数要求传递给它的参数是可哈希的类型。因此,可以将列表转换为可哈希的类型,如数组或元组,然后再传递给plot()函数。 修改后的代码如下: ```python import matplotlib.pyplot as plt import numpy as np squares = [1,4,9,16,25] fig, ax = plt.subplots() ax.plot(np.array(squares)) # 将列表转换为数组 plt.show() ``` 使用NumPy中的array()函数将列表squares转换为数组,再传递给plot()函数即可解决问题。运行修改后的代码,即可成功绘制出折线图。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Satisfying

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值