import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares, linewidth=5)
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)
plt.tick_params(axis='both', labelsize=14)
plt.show()
共同处:第一个实参为title,第二个实参可以指定线宽和字的大小。
对于tick_params()指定的实参将影响x轴和y轴上的刻度(可以换成’x’和’y’)
但是可以发现绘制的数据有问题,因为向plot()提供一系列数字时,它假设第一个数据点对应的x的坐标值为0,但这里要求的对应的x值为1,为了改变这种行为应该同时提供输入与输出值。
import matplotlib.pyplot as plt
input_values = [1, 2, 3, 4, 5]
squares = [1, 4, 9, 16, 25]
plt.plot(input_values, squares, linewidth=5)
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)
plt.tick_params(axis='both', labelsize=14)
plt.show()
利用scatter()绘制散点图
import matplotlib.pyplot as plt
plt.scatter(2,4,s=200)
#设置刻度标记的大小
plt.tick_params(axis='both',which='major',labelsize=14)
plt.show()
which三个参数,[‘major’ , ‘minor’,‘both’]
默认是major表示主刻度,后面分布为次刻度及主次刻度都显示。
绘制一系列点可以通过遍历列表实现。
x_value = [1, 2, 3, 4, 5]
y_value = [1, 4, 9, 16, 25]
plt.scatter(x_value, y_value, s=100)
s for size
自动计算数据:
import matplotlib.pyplot as plt
x_value = list(range(1, 1001))
y_value = [x**2 for x in x_value]
plt.scatter(x_value, y_value, c='red', edgecolors='none', s=40)
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)
plt.tick_params(axis='both', labelsize=14)
plt.axis([0, 1100, 0, 1100000])
plt.show()
plt.scatter(x_value, y_value, c='red', edgecolors='none', s=40)
其中,c for color,也可用RGB,c=(0, 0, 0.8)
值越接近0颜色越深,edgecolor表示点的轮廓。
plt.axis([0, 1100, 0, 1100000])
表示画坐标轴的取值范围,x,y。
颜色映射:
突出数据变换的规律,较浅的颜色来表示较浅的值。
plt.scatter(x_value, y_value, c=y_value, cmap=plt.cm.Blues, edgecolors='none', s=40)
自动保存图表:
可将对plt.show()的调用换成对plt.savefig()的调用:
plt.savefig('fitst_try.jpg', bbox_inches='tight')
第一个实参表明以什么样的文件名保存图表,存储到该.py文件的目录中,第二个实参将图标多余的空白区域全部裁掉。可以省略。