![](/img/trans.png)
[英]How do I plot a line graph with dots for each data point using MatPlotLib in Python?
[英]How to plot a line and dots on it using 2 lists in matplotlib?
使用合適的標記怎么樣?
from matplotlib import pyplot as plt
losses = [12,13,15,10,9,8]
dots = [1,0,0,1,0,0]
# value from losses whenever corresponding dots value is 1:
d = [v if d else None for d, v in zip(dots, losses)]
plt.plot(losses, c='b')
plt.plot(d, c='b', marker='|', markersize=40)
您的圖表與您的描述不符,但這是您描述的操作方法。 您將這些點作為散點 plot。 您可以使用 numpy 的精美索引從 x 和 y 軸中選擇“dots”為 True 的點。 請注意,它必須是 True/False,所以我使用==1
將您的數字轉換為布爾值。
import matplotlib.pyplot as plt
import numpy as np
losses = np.array([12,13,15,10,9,8])
dots = np.array([1,0,0,1,0,0])==1
x = np.arange(6)*50000
xscat = x[dots]
yscat = losses[dots]
plt.plot(x, losses, c = 'b')
plt.scatter(xscat, yscat, c='r');
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.