matplotlib绘制渐变图

使用matplotlib绘制1-1000所有整数立方值图形报错

绘制1~1000所有整数的立方图,颜色采用渐变蓝色,点越接近坐标原点,颜色越浅。
代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import matplotlib.pyplot as plt

x_values = list(range(1,1001))
y_values = [x**3 for x in x_values]

plt.scatter(x_values, y_values, c=y_values,cmap=plt.cm.Blues,s=40)

#设置图表坐标并设置坐标标签
plt.title("Square Numbers",fontsize=24)
plt.xlabel("Values",fontsize=14)
plt.ylabel("Square of Value",fontsize=14)

#设置坐标轴刻度
plt.tick_params(axis='both', labelsize=14)

#设置坐标轴取值
plt.axes([0,1100,0,1100000])
plt.show()

可以成功绘制图形,但是有警告报错:

1
UserWarning: Unable to find pixel distance along axis for interval padding of ticks; assuming no interval padding needed.warnings.warn("Unable to find pixel distance along axis "

原因:
设置坐标轴取值时,使用的是plt.axes,该函数创建的是一个轴对象,并将输入解释为指定位置的矩形,绘制的坐标轴中取值0在绘制的图形之外,超出了限制范围,所以警告报错。

解决方案:
使用plt.axis()代替plt.axes()

1
2
3
4
#设置坐标轴取值
plt.axis([0,1100,0,1100000])
plt.show()

文章目录
|