进度15%,python数据可视化 matplotlib(3)小白 完善统计图形 (如何调整刻度范围和刻度标签、如何在统计图形里添加表格等)

更新ing

如何在matplotlib输入数学表达式

这里使用的是matplotlib自带的TeX实现数学表达式输入,通过"$ s i n ( x ) sin(x) sin(x)$"模式,将表达式 s i n ( x ) sin(x) sin(x)嵌入中间。
进度15%,python数据可视化 matplotlib(3)小白 完善统计图形 (如何调整刻度范围和刻度标签、如何在统计图形里添加表格等)_第1张图片

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
x=np.linspace(-2*np.pi,2*np.pi,200)
y=np.sin(x)
y1=np.cos(x)
plt.plot(x,y,label=r"$\sin(x)$",color='red')  # 这个非斜体
plt.plot(x,y1,'b--',label="$cos(x)$") #这个是斜体
plt.title("正弦函数和余弦函数的折线图")
plt.legend()
plt.show()

如何在matplotlib更改图例样式

进度15%,python数据可视化 matplotlib(3)小白 完善统计图形 (如何调整刻度范围和刻度标签、如何在统计图形里添加表格等)_第2张图片

loc参数设置 upper lower center
right 1 4 7
left 2 3 6
center 9 8 10

怎么说呢,人嘛年少无知总是想给他排序,然鹅!!毫无规律,直接写英文吧,别用数值代替了!!!
loc=2loc="upper left"是等价的
线框位置参数:bbox_to_anchhor
线框阴影:shadow=True
线框圆角处理参数:fancybox=True
线框一行4个:ncol=4

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
x=np.arange(0,2,0.1)
y=np.power(x,1)
y1=np.power(x,2)
y2=np.power(x,3)
y3=np.power(x,4)
plt.plot(x,y,ls="-",lw=2,label="$x$")
plt.plot(x,y1,ls="--",lw=2,label="$x^{2}$")
plt.plot(x,y2,ls=":",lw=2,label="$x^{3}$")
plt.plot(x,y3,ls="-.",lw=2,label="$x^{4}$")
plt.title("正弦函数和余弦函数的折线图")
plt.legend(loc=2,bbox_to_anchor=(0.05,0.95),ncol=4,title="函数",shadow=True,fancybox=True)
plt.show()

如何在matplotlib上函数分区

进度15%,python数据可视化 matplotlib(3)小白 完善统计图形 (如何调整刻度范围和刻度标签、如何在统计图形里添加表格等)_第3张图片
子区函数:subplot(),这个函数专门用来绘制几何形状相同的网格区域,子区顾名思义就是将画布分为若干个子画布。
子区函数subplot(211)subplot(212)在一个2行1列的画布格式上分别为第一个图形,和第二个图形。
进一步地,子区函数subplot(515)就会是一个5行1列的画布的第5行图形,该图形占一行;子区函数subplot(529)就会是一个5行2列的画布同样位于第5行。

import numpy as np
import matplotlib.pyplot as plt
def f(t):
    return np.exp(-t) * np.cos(2*np.pi*t)
t1 = np.arange(0.0, 3.0, 0.01)
ax2 = plt.subplot(221)
ax2.margins(2, 2)           # Values >0.0 zoom out
ax2.plot(t1, f(t1))
ax2.set_title('Zoomed out')
ax3 = plt.subplot(222)
ax3.margins(x=0, y=-0.25)   # Values in (-0.5, 0.0) zooms in to center
ax3.plot(t1, f(t1))
ax3.set_title('Zoomed in')
ax1 = plt.subplot(212)
ax1.margins(0.05)           # Default margin is 0.05, value 0 means fit
ax1.plot(t1, f(t1))
plt.show()

进度15%,python数据可视化 matplotlib(3)小白 完善统计图形 (如何调整刻度范围和刻度标签、如何在统计图形里添加表格等)_第4张图片

ax2 = plt.subplot(221)
ax2.margins(2, 2)           # Values >0.0 zoom out
ax2.plot(t1, f(t1))
ax3 = plt.subplot(222)
ax3.margins(x=0, y=-0.25)   # Values in (-0.5, 0.0) zooms in to center
ax3.plot(t1, f(t1))
ax1 = plt.subplot(212)
ax1.margins(0.05)           # Default margin is 0.05, value 0 means fit
ax1.plot(t1, f(t1))

ax6 = plt.subplot(212)
ax6.margins(0.05)           # Default margin is 0.05, value 0 means fit
ax6.plot(t2, f(t2))
ax4 = plt.subplot(221)
ax4.margins(2, 2)           # Values >0.0 zoom out
ax4.plot(t2, f(t2))
ax5 = plt.subplot(222)
ax5.margins(x=0, y=-0.25)   # Values in (-0.5, 0.0) zooms in to center
ax5.plot(t2, f(t2))
plt.show()

如何在matplotlib上逆序设置坐标轴

通过使用函数xlim()将刻度标签值降序排列。就是xlim(xmin,xmax)的顺序修改为xlim(xmax,xmin)以此实现逆序坐标轴。

你可能感兴趣的:(matplotlib,python,数据可视化)