python Matplotlib库绘制常用图表(超全)

一、绘制圆环图

import numpy as np
import matplotlib.pyplot as plt
#解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
# 解决负号无法正常显示的问题
plt.rcParams['axes.unicode_minus']=False
#在默认设置下matplotlib做出来的图表不是很清楚,可以将图表设置成矢量格式显示
# plt.savefig("test.svg", format="svg")

# 建立坐标系
plt.subplot(1,1,1)
# 指明x值
x1 = np.array([8566,5335,7310,6482])
x2 = np.array([4283,2667,3655,3241])
# 绘图
labels = ['东区','北区','南区','西区']
plt.pie(x1,labels = labels,radius=1.0,wedgeprops=dict(width = 0.3,edgecolor = 'w'))
plt.pie(x1,radius=0.7,wedgeprops=dict(width = 0.3,edgecolor = 'w'))
# 添加注释
plt.annotate('完成量',xy=(0.35,0.35),xytext = (0.7,0.45),arrowprops = dict(facecolor = 'black',arrowstyle = '->'))
plt.annotate('任务量',xy=(0.75,0.20),xytext = (1.1,0.2),arrowprops = dict(facecolor = 'black',arrowstyle = '->'))
# 设置标题
plt.title(label = 'xxxxxxxx')
# 显示图表
plt.show()

效果如下:
在这里插入图片描述

二、绘制折线图

绘制折线图:
plt.plot(x,y,color,linestyle,linewidth,marker,markeredgecolor,markeredgwidth,
markerfacecolor,markersize,label)
x,y为x轴y轴的数据
color为yanse
linestyle为线的格式
linewidth表示线的宽度
marker表示折线每个点的形状
注:除了xy是必选项,其他均为可选项

import pandas as pd
import matplotlib.pyplot as plt
#解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
# 解决负号无法正常显示的问题
plt.rcParams['axes.unicode_minus']=False
#在默认设置下matplotlib做出来的图表不是很清楚,可以将图表设置成矢量格式显示
# plt.savefig("test.svg", format="svg")

# 数据源
df = pd.read_excel('/Users/caizhengjie/Desktop/数据分析数据/数据可视化/数据1.xlsx')
print(df)

#将图表的整个区域分成1行1列,且在第一个坐标系里面绘图
plt.subplot(1,1,1)

# 在第一个坐标系里面画折线
plt.plot(df['月份'],df['注册量'],color='k',linestyle='dashdot',linewidth=1,marker='o',markersize=5,label='注册用户数')
# 设置标题
plt.title('xxxxxxx',loc='center')
#添加数据标签
for a,b in zip(df['月份'],df['注册量']):
    plt.text(a,b,b,ha = 'center',va = 'bottom',fontsize = 10)
# 设置网格线
plt.grid(True)
# 设置图例
plt.legend()

plt.show()

效果如下:
在这里插入图片描述

三、绘制散点图

绘制散点图:
plt.scatter(x,y,s,c,marker,linewidths,edgecolors)
(x,y)表示散点的位置
s表示每个点的位置
c表示每个点的颜色
marker表示每个点的标记
linewidths表示每个散点的线宽
edgecolors表示每个散点外轮廓的颜色

import matplotlib.pyplot as plt
#解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
# 解决负号无法正常显示的问题
plt.rcParams['axes.unicode_minus']=False
#在默认设置下matplotlib做出来的图表不是很清楚,可以将图表设置成矢量格式显示
# plt.savefig("test.svg", format="svg")

# 绘制散点图
# 建立坐标系
plt.subplot(1,1,1)
# 指明x和y的值
x = [5.5,6.6,6,8.1,19.5,22.4,28.3,28.9]
y = [2.38,3.85,4.41,5.67,5.44,6.03,8.15,6.87]
# 绘图
plt.scatter(x,y,marker='o',s = 100)
# 设置标题
plt.title('xxxxxxxxxx',loc='center')
# 设置x轴y轴的名称
plt.xlabel('平均气温')
plt.ylabel('啤酒销量')
# 设置网格线
plt.grid(True)
# 显示图表
plt.show()

效果如下:
在这里插入图片描述

四、绘制条形图

绘制条形图:
plt.barh(y,width,height,align,color,edgecolor)
y表示什么位置显示柱子,即纵坐标
width表示柱子在横向的宽度,即横坐标
h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

<一蓑烟雨任平生>

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

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

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

打赏作者

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

抵扣说明:

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

余额充值