【matplotlib折线图】mp绘制多次图形和不同图形的差异介绍和总结
假设大家在30岁的时候,根据自己的实际情况,统计出来了从11岁到30岁每年交的女(男)朋友的数量如列表a,请绘制出该数据的折线图,以便分析自己每年交女(男)朋友的数量走势
a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
要求: y轴表示个数 x轴表示岁数,比如11岁,12岁等
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font=font_manager.FontProperties(fname="C:/Windows/Fonts/simhei.ttf")
y=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
x=range(11,31)
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
#设置x轴刻度
_xtick_labels=["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
plt.yticks(range(0,9))
#绘制网格
#plt.grid()
#设置透明度
plt.grid(alpha=0.4)
plt.show()
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font=font_manager.FontProperties(fname="C:/Windows/Fonts/simhei.ttf")
y_1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2=[1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
x=range(11,31)
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y_1,label="自己")
plt.plot(x,y_2,label="同桌")
#设置x轴刻度
_xtick_labels=["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
plt.yticks(range(0,9))
#绘制网格
#plt.grid()
#设置透明度
plt.grid(alpha=0.4)
#添加图例
plt.legend(prop=my_font)
plt.show()
调整标签的位置,在legend里面添加 loc=best(最佳位置),uper right(右上),uper left(左上),lower left(左下),lower right(右下),right(右),center left(左边的中间),center right(右边的中间),lower center(下边的中间),upper center(上边的中间),center(中间)。
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font=font_manager.FontProperties(fname="C:/Windows/Fonts/simhei.ttf")
y_1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2=[1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
x=range(11,31)
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y_1,label="自己")
plt.plot(x,y_2,label="同桌")
#设置x轴刻度
_xtick_labels=["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
plt.yticks(range(0,9))
#绘制网格
#plt.grid()
#设置透明度
plt.grid(alpha=0.4)
#添加图例
plt.legend(prop=my_font,loc=“upper left”)
plt.show()
修改折线图颜色,在plot里添加color=“orange”(橙色)
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font=font_manager.FontProperties(fname="C:/Windows/Fonts/simhei.ttf")
y_1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2=[1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
x=range(11,31)
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y_1,label="自己",color="orange")
plt.plot(x,y_2,label="同桌",color="cyan")
#设置x轴刻度
_xtick_labels=["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
plt.yticks(range(0,9))
#绘制网格
#plt.grid()
#设置透明度
plt.grid(alpha=0.4)
#添加图例
plt.legend(prop=my_font,loc="upper left")
plt.show()
设置线条格式
颜色的十六进制可以百度,链接关于颜色的十六进制对照表 - 菜鸟-传奇 - 博客园 (cnblogs.com)
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font=font_manager.FontProperties(fname="C:/Windows/Fonts/simhei.ttf")
y_1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2=[1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
x=range(11,31)
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y_1,label="自己",color="orange",linestyle=":")#纯虚线
plt.plot(x,y_2,label="同桌",color="cyan",linestyle="-.")
#设置x轴刻度
_xtick_labels=["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
plt.yticks(range(0,9))
#绘制网格
#plt.grid()
#设置透明度
plt.grid(alpha=0.4)
#添加图例
plt.legend(prop=my_font,loc="upper left")
plt.show()
网格同样也可以指定
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font=font_manager.FontProperties(fname="C:/Windows/Fonts/simhei.ttf")
y_1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2=[1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
x=range(11,31)
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y_1,label="自己",color="orange",linestyle=":")#纯虚线
plt.plot(x,y_2,label="同桌",color="cyan",linestyle="-.")
#设置x轴刻度
_xtick_labels=["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
plt.yticks(range(0,9))
#绘制网格
#plt.grid()
#设置透明度
plt.grid(alpha=0.4,linestyle=":")
#添加图例
plt.legend(prop=my_font,loc="upper left")
plt.show()
在上一个案例中,假设你希望在图中标记出自己和同桌交女(男)朋友最多的那一年所对应的数据,应该怎么做?(添加文本注释)
在上一个案例中,假设你打算把自己的统计结果发布到网上供人瞻仰,但是很担心自己的图片被人盗用,你应该怎么做?(添加文字(水印)到图中)
前两个我们学习了什么?
1.绘制了折线图(plt.plot)
2.设置了图片的大小和分辨率(plt.figure)
3.实现了图片的保存(plt.savefig)
4.设置了xy轴上的刻度和字符串(xticks)
5.解决了刻度稀疏和密集的问题(xticks)
6.设置了标题,xy轴的lable(title,xlable,ylable)
7.设置了字体(font_manager. fontProperties,matplotlib.rc)
8.在一个图上绘制多个图形(plt多次plot即可)
9.为不同的图形添加图例