Python笔记:matplotlib图表基础篇

matplotlib是什么

  matplotlib是一个Python的绘图库,可以通过代码实现绘图的功能。

  本笔记属于matplotlib的图表向知识。

matplotlib的官方网站与图例

官方网站

Matplotlib: Python plotting — Matplotlib 3.4.2 documentation 

官方展示的图例

Gallery — Matplotlib 3.4.2 documentation

matplotlib的安装

pip install matplotlib

matplotlib的使用

导入包

from matplotlib import pyplot as plt

最简单的图表生成

from matplotlib import pyplot as plt
import random


x = range(0,10)       #X轴上的数据

y = []                #Y轴上的数据    
for i in x:
    y.append(random.randint(0,9))


plt.plot(x,y)         #plot是折线图,传入X轴和Y轴的数据

plt.show()           #显示图表  
  

图表的基础设置

from matplotlib import pyplot as plt
import random


#导入字体管理器
from matplotlib.font_manager import FontProperties 
#设置汉字格式,simsun.ttc是宋体
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)

#设置图片的尺寸大小和dpi
#dpi,分辨率,图像每英寸长度内的像素点数
plt.figure(figsize=(16,8),dpi=80)

#X轴上的数据
x = range(0,10) 
#Y轴上的数据    
y = []              
for i in x:
    y.append(random.randint(0,9))

plt.title("我是图表的标题", fontproperties=font) 
plt.xlabel("我是X轴的标签", fontproperties=font) 
plt.ylabel("我是Y轴承的标签", fontproperties=font)

#设置Y轴的刻度
plt.yticks(x)

#设置X轴的刻度
#第一个参数是X轴的刻度
#第二个参数是X轴的刻度对应的文本,第一个参数和第二个参数的长度要保持一致
#rotation为文本的旋转角度
#fontproperties,字体
x_label = []
for i in x:
    label = str(i) + ''
    x_label.append(label)
plt.xticks(x,x_label,rotation=45, fontproperties=font)

#绘制网格
#alpha,透明度,参数范围是0.0-1.0
plt.grid(alpha=0.8)


#plot是折线图,传入X轴和Y轴的数据
#color,线条颜色,r:红色,g:绿色,b:蓝色,w:白色,c:青色,m:洋红,y:黄色,k:黑色等等具体可以上网查颜色码对照表,也可以用#000000表示
#linestyle,线条风格,-:实线,--:虚线,-.:点划线,::点虚线,'':无线条
plt.plot(x, y, label="第一条折线", color='r', linestyle='--',linewidth=3, alpha=0.5)
plt.plot(x, x, label="第二条折线")
#散点图
#marker,点的样式
plt.scatter(x, y, color='k', linewidth=5, marker='+')
#竖向条形图
#width,条形粗细
plt.bar(x, y, color='red', width=0.1)
#横向条形图
#height,条形粗细
plt.barh(x, y, color='yellow', height=0.1)#直方图#x,以数组形式保存的数据#num_bins,组距,通常是x中的最大值-最小值,得出数据的范围长度,再计算组距。plt.hist(x, num_bins)#饼图plt.pie(x)


#添加图例
#需要在plot中设置label参数
#prop,图例字体
#loc,图例位置,参数范围是0-10,也可以传入字符串
#0:best、1:upper right、2:upper left、3:lower left、4:lower right、5:right#6:center left、7:center right、8:lower center、9:upper center、10:center
plt.legend(prop=font, loc=0)

#显示图表
plt.show()          

#保存图表为png文件,也可以保存为SVG矢量图格式,这种格式放大不会有锯齿
plt.savefig("图表.png")
posted @ 2021-07-01 13:58  游虚子  阅读(124)  评论(0)    收藏  举报