携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情
也是暑假自学python的第23天
matplotlib绘制散点图
使用matplotlib绘制散点图与绘制折线图的思路差不多,首先需要确定点在x与y轴之上的位置,然后使用sactter方法来绘制散点图:
plt.scatter( x, y, label='3月份' )
比如使用这个方法写一个例子:
from matplotlib import pyplot as plt
import numpy as np
y = [11, 17, 16, 11, 12, 11, 12, 6, 6, 7, 8, 9, 12, 15, 14, 17, 18, 21, 16, 17, 20, 14, 15, 15, 15, 19, 21, 22, 22, 22,
23]
x = range( 1, 32 )
# 设置图形大小
plt.figure( figsize=(20, 8), dpi=80 )
# 使用scatter绘制散点图
plt.scatter( x, y, label='3月份' )
_xticks_labels = ['3月{}日'.format(i) for i in x]
plt.xticks( x[::3], _xticks_labels[::3],rotation=45)
plt.xlabel( ' 日 期 ' )
plt.ylabel( '温度' )
plt.show()
绘制结果如下:
主要区别就是scatter方法,其他与折线图的写法一样。
matplotlib绘制条形图
matplotlib绘制条形图:对于对比数据的过程中可以使用条形图
from matplotlib import pyplot as plt
a = ['流浪地球','疯狂的外星人','飞驰人生','大黄蜂','熊出没·原始时代','新喜剧之王']
b = [38.13,19.85,14.89,11.36,6.47,5.93]
plt.figure(figsize=(20,8),dpi=80)
rects = plt.bar(range(len(a)),b,width=0.3,color='r') #rects包含了所有柱子对象
plt.xticks(range(len(a)),a,rotation=45)
plt.show()
在绘制条形图的时候,使用plt.bar方法
在绘制的过程中,可以在条形图的中间加标注,来对条形进行注释:
rect in rects:
height = rect.get_height()
plt.text(rect.get_x() + rect.get_width() / 2, height+0.3, str(height),ha="center")
以上为for循环的方法,绘制的结果如下:
每添加的字都是一个text文本,条形是rects来进行返回的,将text添加到返回的rects上方几厘米的位置。
x的位置为柱子最左边的位置,我们用(x+宽度)/2来拿到text文本开头的位置:
matplotlib绘制饼图
与上同理,绘制饼图的原理和上面都是一样的,使用到了plt.pie
import matplotlib.pyplot as plt
import matplotlib
label_list = ["test1", "test2", "test3"] # 各部分标签
size = [10, 20, 70] # 各部分比例值
color = ["red", "green", "blue"] # 各部分颜色
explode = [0, 0.05, 0] # 各部分突出值
matplotlib.rcParams['font.sans-serif']=['SimHei'] #为了显示汉字
patches, l_text, p_text = plt.pie(size,explode=explode, colors=color, labels=label_list,
labeldistance=1.1, autopct="%1.1f%%", shadow=False, startangle=90, pctdistance=0.9)
plt.axis("equal")
plt.legend()
plt.show()
绘制饼图较为简单,其中plt.axis("equal")可以来保证横轴和纵轴大小相等,饼是正圆形,但是我前面有几次也没有这样子写,绘出的圆依旧是正圆。
绘制的结果如下:
以上的学习就是简单的使用matplotlib进行绘图的方法,简单的学习一下,没有深入研究。如果以后学习再深入研究吧
================================================================ 今天的学习结束