Jupyter绘制简单图表练习2(使用matplotlib库)

本文介绍了如何在Python中使用Matplotlib和OpenCV库进行直方图、灰度直方图的绘制,以及如何用Pandas和Matplotlib创建饼图和散点图,包括处理cv2中的TypeError问题和数据分析。
摘要由CSDN通过智能技术生成

目录

直方图hist()

灰度直方图

cv2出错:TypeError: ‘numpy._DTypeMeta‘ object is not subscriptable,参考这位师傅http://t.csdnimg.cn/BzHJz

饼图pie()

散点图scatter()


直方图hist()

import matplotlib.pyplot as plt
import numpy as np
random_state = np.random.RandomState(19680801)
random_x = random_state.randn(10000)
plt.hist(random_x,bins = 25)
plt.show()

 

灰度直方图
import matplotlib.pyplot as plt
import cv2

# 读取图像
img = cv2.imread(r'C:\Users\dell\Pictures\1.png')

# 显示原始图像
cv2.imshow("Original", img)

# 将图像转换为灰度
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 显示灰度图像
cv2.imshow("Gray", img_gray)

# 等待按键响应
cv2.waitKey()

# 关闭所有窗口
cv2.destroyAllWindows()

# 绘制灰度直方图
plt.hist(img_gray.ravel(), 256, [0, 256])
plt.title('Histogram')
plt.xlabel('Pixel Value')
plt.ylabel('Frequency')

# 显示直方图
plt.show()

弹出原图和灰度图,按下任意按键出现灰度直方图

先下库

cv2出错:TypeError: ‘numpy._DTypeMeta‘ object is not subscriptable,参考这位师傅http://t.csdnimg.cn/BzHJz

找cv2\typing\_init_.py改完就好啦

饼图pie()

import matplotlib.pyplot as plt
import pandas as pd
plt.rcParams['font.sans-serif'] = 'SimHei'
df = pd.read_excel(r'C:\Users\dell\Desktop\data.xlsx', sheet_name='Sheet5')
data = df['报名人数']
pie_labels = df['等级']
# 绘制饼图:半径为1,数值保留一位小数
plt.pie(data, radius=1, labels=pie_labels, autopct='%3.1f%%')
plt.show()

import matplotlib.pyplot as plt
import pandas as pd
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
df = pd.read_excel(r'C:\Users\dell\Desktop\data.xlsx', sheet_name='Sheet6')
kinds = df['分类']
money = df['金额']
plt.pie(money,labels = kinds,autopct='%3.1f%%',shadow=True,explode=[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1],startangle=90)
plt.show()

 

散点图scatter()

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
df = pd.read_excel(r'C:\Users\dell\Desktop\data.xlsx', sheet_name='Sheet7')
x_speed = np.arange(10,210,10)
y_distance = df['制动距离']
# 绘制散点图
plt.scatter(x_speed,y_distance,s=50,alpha=0.9)
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值