目录
章节概括(练习示例概括)
-
案例一(图表样式、颜色、线型、数据标记、字体、主题风格)
-
import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.style as ms # print(mpl.rc_params()) # 打印图元素的索引配置项 # plt.rcParams['lines.marker'] = '.' x = [1,2,3] y = [3,4,5] plt.plot(x, y, color=(1,0,0), ls=':',# 默认 - 实线 还有 - - 长虚线 : 短虚线 -. 点划线 marker='^',# marker 数据标记类型# 类型太多,不写了 markerfacecolor='y',# markerfacecolor 标记填充颜色 markeredgecolor='b',# 标记边框 markeredgewidth=2,# markeredgewidth 标记边缘宽度 markersize=3 # markersize 标记大小 ) # fmt 格式字符串 '[marker][color][linestyle]' 顺序随便换 plt.plot([2,3],[4,4],':yx',[4,5],[4,4],'-.g^') plt.text(3, 4, # 坐标 '今天星期一',# 注释文本 fontfamily='KaiTi',# fontfamily/family 字体 中文黑体字体 英文Times New Roman fontsize='xx-large',# fontsize/size 字体大小 数字 或 xx-small medium large xx-large等 fontstyle='italic',# fontstyle/style 字体风格 'normal' 正常 'italic'斜体 'oblique'倾斜 fontweight='heavy',# # fontweight/weight 字体粗细 0-1000 rotation=150 # rotation 字体旋转角度 逆时针 ) # print(ms.available) # 打印所有风格 # use函数,使用某种风格 ms.use('seaborn-paper') # use('default') 恢复默认风格 plt.show()
-
-
案例二(填充区域)
-
import matplotlib.pyplot as plt import numpy as np plt.subplot(221) x = np.array([2, 6, 5, 3]) y = np.array([2, 2, 4, 4]) # fill() 填充多边形 plt.fill(x, y, # x,y轴坐标 color='y', # 图形颜色 edgecolor='r',# 边框的颜色 linewidth=10# 边框的宽度 ) plt.subplot(222) xx = np.linspace(0, 25, 256) y1, y2 = np.cos(xx), np.sin(xx) # fill_between() # 填充两条水平曲线之间的区域 plt.fill_between(xx ,# x轴数据 y1,# y1数据 y2,# y2数据 y1>y2,# 填充条件 color='g'# 颜色 ) plt.fill_between(xx ,y1, y2, y1<y2, color=(0.3,0.6,0.7)) # fill_betweenx() plt.show()
-
简单的线型案例
-
import matplotlib.pyplot as plt import numpy as np import matplotlib.style as ms plt.rcParams['font.sans-serif'] = ["KaiTi"] plt.rcParams['axes.unicode_minus'] = False x = np.arange(1,13) y2018 = np.array([39, 20, 40, 38, 42, 43, 41, 41, 45, 48, 52, 50] ) y2019 = np.array([45, 28, 48, 49, 50, 51, 50, 50, 51, 52, 70, 65] ) # plt.xlabel('月份') plt.ylabel('业务量(亿件)') plt.plot(x, y2018, color='#8B0000',# 颜色 marker='^',# 标记为正三角 linestyle='--',# 线型为长虚线 linewidth=1.5 # 线条宽度 ) plt.plot(x, y2019, color='#006374',# 颜色 marker='d',# 标记为长菱形 linestyle='-',# 线型为实线 linewidth=1.5 # 线条宽度 ) # print(ms.available) ms.use('fivethirtyeight') # use函数,使用主题风格 plt.show()
正余弦曲线填充案例
-
import matplotlib.pyplot as plt import numpy as np import matplotlib.style as ms plt.rcParams['font.sans-serif'] = ["KaiTi"] plt.rcParams['axes.unicode_minus'] = False x = np.linspace(-np.pi, np.pi, 256) ycos, ysin = np.cos(x), np.sin(x) plt.xticks([-np.pi, -np.pi/2, 0 , np.pi/2, np.pi], [r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'] ) plt.plot(x, ycos, color='b', linewidth=1.0, alpha=0.5) plt.plot(x, ysin, color='r',linewidth=1.0,linestyle='--') plt.title('cos&sin') plt.legend(['Cos','Sin'],loc="upper left") plt.annotate('cos(1)', xy=(1,np.cos(1)), xytext=(np.pi/2-0.5,0.75), arrowprops=dict(arrowstyle="->") ) ms.use("default") # 由于前面一题切换了主题风格,这导致了网格和箭头无法显示,所以我们需要恢复默认的主题风格,方便操作 plt.grid()# 添加网格 plt.fill_between(x, ycos, abs(x) < 0.5, np.cos(x)>0.5 , color='green',alpha=0.25) plt.show()