plt新手遭受这般折磨,这究竟是道德的沦丧还是人性的丧失
总之就是不让用plt.hist()但众所周知同一条线上的无数个点可以构成一条线
有尝试过用plt.plot()的linewidth,结果不成功哈哈,一整张画布都是蓝的了
原理描述完毕,上代码
from matplotlib import pyplot as plt
from matplotlib import font_manager
import cv2
grey_pic=cv2.imread("/Users/apple/Desktop/实验汇总/图像处理实验/图像处理实验二/任务一图片/2.白天室外背光阴影处.jpeg",0)
x=[i for i in range(256)]
y=[0 for i in range (256)]
for i in range (len(grey_pic)):
for j in range (len(grey_pic[0])):
y[grey_pic[i][j]]+=1
def func(wide):
# 计算组数
d = 50 # 组距
num_bins = 255
# 设置图形大小
plt.figure(figsize=(wide, 8))
# 设置x轴刻度
plt.xticks(range(0, num_bins+d, d))
#设置散点(但是散点的面积是y)
#plt.plot(x,y,color='blue')
for i in range(256):
plt.scatter(i, y[i],color='blue')
for j in range(0,y[i]+1,100):
plt.scatter(i,y[i]-j,color='blue')
plt.show()
func(16)
很好理解吧
如果愿意的话可以试试plt.scatter(x,y,s=y),你会收获一根漂亮的大肠,么么叽~