python添加自定义刻度和标签

用python实现一个曲线图,正常刻度很好实现,甚至可以根据数据自动给出x轴刻度值。

import numpy as np
import cv2
import matplotlib.pyplot as plt

#读取图像
img = cv2.imread("img/I-2.jpg",0)

#求图像的像素平均值
h=img.shape[0]
w=img.shape[1]
geshu=h*w
img_array = np.array(img)#把图像转成数组格式img = np.asarray(image)
mean = np.sum(img_array) / geshu  # 求整个一维数组平均值
print(mean)

##画灰度直方图
plt.hist(img.ravel(), 256,[0,255],color='gray')

# 绘制分割点
plt.axvline(mean, color='r')
# 绘制类间方差遍历过程示意图
plt.title("1")
plt.tick_params(direction='in')  # 刻度向里

plt.show()
cv2.waitKey()
cv2.destroyAllWindows()# 销毁所有窗口

图的效果:

 但是,我们的平均值表示出来了,虽然可以得到值,但是怎么在坐标轴上表示他呢,本人查阅很多资料,什么定位深的,最后巧妙用了一招:在plt.show()之前加一句

##完美增加想要刻度的值。
plt.xticks([0,50,100,mean,150,200,250])

 这不,119就显示出来了。而且可以随意的改变刻度值。如:

plt.xticks([0,40,mean,189,250])

 看到么,这一招可以跳跃出来框架,可以随意设置想要的值,包括可以不是平均分布的,不需要搞什么主副坐标刻度。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

彩色面团儿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值