四个统计图

本文详细介绍了使用Python的matplotlib库进行数据可视化的技巧,包括如何绘制折线图、散点图、柱状图和饼图。在折线图中,我们学习了设置不同标记、颜色和线宽的方法。散点图展示了如何通过颜色和大小来表示数据,并添加颜色条。在柱状图部分,我们创建了两种不同风格的图表,调整了颜色和宽度。最后,饼图的制作中,我们利用不同颜色区分部分并添加了百分比标签。这些图表对于数据展示和分析非常有用。
摘要由CSDN通过智能技术生成

marker 可以定义的符号:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjc5NzU3Mzg=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjc5NzU3Mzg=,size_20,color_FFFFFF,t_70,g_se,x_16 

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjc5NzU3Mzg=,size_20,color_FFFFFF,t_70,g_se,x_16

折线图

import numpy as np
import matplotlib.pyplot as plt
ypoints = np.array([1,3,9,25,12,32,5,1])

数据插入到图表

marker:符号

color:颜色,可简写为c

linewidth:线条宽度

#plt.plot(ypoints,'o:g')

#plt.plot(ypoints,marker='o',linestyle=':',color='g')

plt.plot(ypoints,marker='o',ls=':',c='g',linewidth='1.5')

设置xy

plt.xlabel('x-lable')

plt.ylabel('y-lable')

plt.title('table')

添加网格

plt.grid()

图标显示

plt.show()

 

散点图

import numpy as np

import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4, 5, 6, 7, 8])

y = np.array([1, 4, 9, 16, 7, 11, 23, 18])

sizes = np.array([20,50,100,200,500,1000,60,90])

colors=np.array(["red","green","black","orange","purple","beige","cyan","magenta"])

plt.subplot(1,2,1)

plt.scatter(x, y, s=sizes,c=colors,cmap='afmhot_r') #viridis颜色条

plt.title("scatter")

plt.colorbar() #颜色条输出

x2 = np.random.rand(50)

y2 = np.random.rand(50)

colors2 = np.random.rand(50)

plt.subplot(1,2,2)

plt.scatter(x2,y2,c=colors2,cmap='afmhot_r') #viridis颜色条

plt.title("scatter2")

plt.colorbar() #颜色条输出

plt.show()

 

柱形图

import matplotlib.pyplot as plt

import numpy as np

x=np.array(['math','english','chinese','history','physic'])

y=np.array([88,77,66,55,99])

c=np.array(["#4CAF50","red","hotpink","#556B2F","pink"])

plt.subplot(1,2,1)

plt.bar(x,y,color=c,width=0.5)

plt.title('score')

plt.xlabel('course')

plt.ylabel('grade')

plt.subplot(1,2,2)

x=np.array(['math','english','chinese','history','physic'])

y=np.array([88,77,66,55,99])

plt.bar(x,y,color='pink',width=0.5)

plt.title('score')

plt.xlabel('course')

plt.ylabel('grade')

plt.show()

 

饼图

y=np.array([35,25,25,15])

l=np.array(['basketball','football','pingpong','others'])

c=np.array(["#4CAF50","red","hotpink","#556B2F"])

plt.pie(y,labels=l,colors=c,explode=(0,0.2,0,0),autopct='%.2f%%')

plt.title('hobby')

plt.savefig('123.png')

plt.show()

 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#随机生成数据
x=np.random.rand(20)
y=np.random.rand(20)
#设置子图
plt.subplot(1,2,1)
#插入数据
plt.scatter(x,y,marker='x')

#随机生成数据
x2=np.random.rand(20)
y2=np.random.rand(20)
df=pd.DataFrame({'x2':x2,'y2':y2})
#设置子图
sns.jointplot(x="x2",y="y2",data=df,kind='scatter');
plt.show()


x = [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019]
y = [5, 3, 6, 20, 17, 16, 19, 30, 32, 35]
# 使用 Matplotlib 画折线图
plt.plot(x, y)
plt.show()
# 使用 Seaborn 画折线图
df = pd.DataFrame({'x': x, 'y': y})
sns.lineplot(x="x", y="y", data=df)
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值