我想在图表上绘制一个点,但似乎它们都需要绘制为列表或方程。
我需要像
ax.plot(x, y)
那样进行绘图,并且在我的图表上的 x
、y
坐标处会出现一个点。
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
import numpy
fig = plt.figure()
plt.xlabel('Width')
plt.ylabel('Height')
ax = fig.gca()
ax.plot(105, 200)
plt.grid()
plt.show()
这对我有用:
plt.plot(105,200,'ro')
matplotlib.pyplot.plot
和 matplotlib.axes.Axes.plot
将 y
与 x
绘制为线条和/或标记。ax.plot(105, 200)
尝试画一条线,但一条线需要两个点
plt.plot([105, 110], [200, 210])
'o'
只能用于绘制标记。
marker='o'
与位置参数的作用不同。'ro'
分别指定颜色和标记'-o'
和
'-ro'
值,
x
或 y
将绘制一条线和标记。matplotlib.pyplot.scatter
和 matplotlib.axes.Axes.scatter
也可用于添加单个或多个点python 3.10
、matplotlib 3.5.1
、seaborn 0.11.2
import matplotlib.pyplot as plt
fig, ax = plt.subplots(3, 1, figsize=(8, 10), tight_layout=True)
# single point
ax[0].plot(105, 110, '-ro', label='line & marker - no line because only 1 point')
ax[0].plot(200, 210, 'go', label='marker only') # use this to plot a single point
ax[0].plot(160, 160, label='no marker - default line - not displayed- like OP')
ax[0].set(title='Markers - 1 point')
ax[0].legend()
# two points
ax[1].plot([105, 110], [200, 210], '-ro', label='line & marker')
ax[1].plot([105, 110], [195, 205], 'go', label='marker only')
ax[1].plot([105, 110], [190, 200], label='no marker - default line')
ax[1].set(title='Line & Markers - 2 points')
ax[1].legend()
# scatter plot
ax[2].scatter(x=105, y=110, c='r', label='One Point') # use this to plot a single point
ax[2].scatter(x=[80, 85, 90], y=[85, 90, 95], c='g', label='Multiple Points')
ax[2].set(title='Single or Multiple Points with using .scatter')
ax[2].legend()
seaborn
是 matplotlib
的高级 API,并提供用于绘制单点的附加选项。sns.lineplot
和 sns.scatterplot
是轴级图。
sns.lineplot
有关键字参数,这些参数被传递给 matplotlib.axes.Axes.plot
sns.scatterplot
有关键字参数,这些参数被传递给 matplotlib.axes.Axes.scatter
sns.relplot
是图形级图,带有 kind=
参数。
kind='line'
传递到 sns.lineplot
kind='scatter'
传递到 sns.scatterplot
x=
和 y=
必须作为向量传递。sns.lineplot(x=[1], y=[1], marker='o', markersize=10, color='r')
sns.scatterplot(x=[1], y=[1], s=100, color='r')
sns.relplot(kind='line', x=[1], y=[1], marker='o', markersize=10, color='r')
sns.relplot(kind='scatter', x=[1], y=[1], s=100, color='r')
你可以使用
plt.scatter(x, y)
绘制点。