条形图
使用barh()绘制柱形图。barh()函数的语法:
barh ( x , height , width = 0.8 , bottom = None , * , align = 'center' , data=None,tick_label=None,xerr=None, yerr=None,error_kw=None,** kwargs )
常用函数:
X : 表示柱形的X坐标值
height : 表示柱形的高度
width : 表示柱形的宽度,默认为0.8
bottom : 表示柱形底部的Y坐标值,默认为0
align : 表示柱形的对齐方式,有'center'和'edge'两个取值,
其中'center'表示将柱形与刻度线居中对齐;'edge'表示将柱形的左边与刻度线对齐。
导入模块
import matplotlib.pyplot as plt
设置中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
创建画布与绘图区域
fig = plt.figure()
ax = fig.add_subplot(111)
准备数据
labels = ['哪吒之魔童降世','流浪地球','复仇者联盟4:终局之战','疯狂的外星人','飞驰人生',
'烈火英雄','蜘蛛侠:英雄远征','速度与激情:特别行动','扫毒2:天地对决','大黄蜂',
'惊奇队长','比悲伤更悲伤的故事','哥斯拉2:怪兽之王','阿丽塔:战斗天使',
'银河补习班']
bar_width = [48.57, 46.18, 42.05, 21.83, 17.03, 16.7, 14.01, 13.84,
12.85, 11.38, 10.25, 9.46, 9.27, 8.88, 8.64]
绘制图表
y_data = range(len(labels))
ax.barh(y_data, bar_width, height=0.2, color='orange')
设置x轴和y轴的标签
ax.set_xlabel('总票房(亿元)')
ax.set_ylabel('电影名称')
设置y轴的刻度线位置、刻度标签
ax.set_yticks(y_data)
ax.set_yticklabels(labels)
展示图表
plt.show()
完整代码如下:
扇形图
使用pie()绘制扇形图。pie()函数的语法格式如下:
pie(x, explode = None, labels = None, colors = None, autopct = None, pctdistance = 0.6, shadow = False, labeldistance = 1.1, startangle = 0, radius = 1, counterclock = True, wedgeprops = None, textprops= None , center = (0, 0) , frame = False , rotatelabels = False , * , normalize = True , data = None )[来源] #
常用参数:
X : 表示扇形或楔形尺寸。
explode : 如果不是None,是一个len(x)数组,它指定偏移每个楔形的半径分数。
labels : 列表,为每个楔形提供标签的字符串序列
colors : 类数组,默认值:无
饼图将循环使用的一系列颜色。如果 None,将使用当前活动循环中的颜色。
autopct : 无或 str 或可调用,默认值:无
如果不是None,是一个字符串或函数,用于用它们的数值标记楔形。%
标签将放置在楔形内。如果它是格式字符串,则标签将为. 如果它是一个函数,它将被调用。
pctdistance : 浮点数,默认值:0.6
每个饼图的中心与autopct生成的文本的开头之间的比率。如果autopct为None则忽略。导入模块
import matplotlib.pyplot as plt
设置中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
创建画布与绘图区域
fig = plt.figure()
ax = fig.add_subplot(111)
外侧说明文字
labels = ['购物','人情往来','餐饮美食','通信物流','生活日用',
'交通出行','休闲娱乐','其他']
准备数据
money_scale = [800, 100, 1000, 200, 300, 200, 200, 200]
爆炸程度
dev_position = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
绘制图表
ax.pie(money_scale,autopct='%3.1f%%',startangle=90,shadow=True,explode=dev_position)
添加标题
plt.title('支付宝月账单报告')
添加图例
plt.legend(labels,loc='upper right', bbox_to_anchor=[1.3, 1.1])
展现图表
plt.show()
完整代码如下:
散点图
使用scatter() 绘制散点图与气泡图。scatter()函数的语法格式如下:
scatter ( x , y , s = None , c = None , marker = None , cmap = None , norm = None , vmin = None , vmax = None , alpha = None , linewidths = None , * , edgecolors = None , plotnonfinite =错误的, data = None , ** kwargs )
常用参数:
X,Y :表示数据点的位置
s : 表示数据点的大小
c : 表示数据点的颜色
marker : 默认值:(rcParams["scatter.marker"]默认值'o':)
标记样式。标记可以是类的一个实例,也可以是特定标记的文本速记。
cmap :str 或Colormap,默认值:(rcParams["image.cmap"]默认值'viridis':)
用于将标量数据映射到颜色的颜色图实例或注册的颜色图名称。
如果c为 RGB(A),则忽略此参数。
alpha :浮点数,默认值:无
Alpha 混合值,介于 0(透明)和 1(不透明)之间。
导入模块
import numpy as np
import matplotlib.pyplot as plt
设置中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
创建画布与绘图区域
fig = plt.figure()
ax = fig.add_subplot(111)
准备数据
x_speed = np.arange(10, 210, 10)
y_distance = np.array([0.5, 2.0, 4.4, 7.9, 12.3, 17.7,
24.1, 31.5, 39.9, 49.2, 59.5,
70.8, 83.1, 96.4, 110.7, 126.0,
142.2, 159.4, 177.6, 196.8])
绘制图表
ax.scatter(x_speed,y_distance,s=50,alpha=0.9,linewidths=0.3)
设置x轴和y轴的标签
ax.set_xlabel('速度(km/h)')
ax.set_ylabel('制动距离(m)')
调整坐标刻度
ax.set_xticks(x_speed)
显示网格
ax.grid(b=True, linewidth=0.3)
展现图表
plt.show()
完整代码如下: