我正在编写一个可以做一些绘图的脚本.我想要它绘制几个数据系列,每个系列都有其独特的线条样式(不是颜色).我可以很容易地遍历列表,但是python中是否有这样的列表?
我想绘制一些实验数据的图表,这些数据以相对较高的速率进行采样,但使用间隔相等弧长间隔的标记近似平滑曲线,如下图所示:

我知道关于markevery绘图的论点,但是这会将标记聚集在图的右侧,并且左边可能只有很少的标记.解决方案应独立于x和y轴上的刻度.我愿意安装其他模块,但它应该是一个python + matplotlib解决方案.
鉴于以下数据:
df1
a b c
1/1/2017 -162 1525 -41
1/2/2017 192 1530 86
1/3/2017 33 1520 -124
1/4/2017 173 1502 -108
1/5/2017 194 1495 -31
1/6/2017 -15 1520 -46
1/7/2017 52 1525 181
1/8/2017 -2 1530 -135
1/9/2017 37 1540 65
1/10/2017 197 1530 73
df2
a
1/3/2017 33
1/6/2017 -15
1/7/2017 52
1/8/2017 -2
1/9/2017 37
Run Code Online (Sandbox Code Playgroud)
我如何使用matplotlib在图表上生成,绘制并在其上面的'b'列df1,将标记放在相同的绘图线上,但使用索引点df2.
所需的图表看起来像这样:
我看了这个答案,但不能很好地适应它.问题是在示例中他们使用值,但在我的情况下,两个数据集之间共同的部分是索引
这是我尝试的引用问题的代码:
xs = df1['b']
ys = df2['a'] # ---> this doesn't make …Run Code Online (Sandbox Code Playgroud) 我有包含 4 个子图的图像:
#!/usr/bin/env python3
import matplotlib.pyplot as plt
f, axarr = plt.subplots(2, 2)
axarr[0,1].stem([1,3,-4],linefmt='b-', markerfmt='bs', basefmt='k-')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想更改一个图(茎图)的线宽。是否有捷径可寻?
我想在线图中标记某些索引。我参考了以下有关堆栈溢出的问题并编写了以下内容:
plt.plot(range(len(y)), y, '-bD', markevery=rare_cases, label='%s' % target_var_name)
Run Code Online (Sandbox Code Playgroud)
如何将线图保持为蓝色,但将标记设为红色?
我一直在尝试使用 pandas dataframe 绘图函数绘制一些时间序列图。我试图在图上的某些任意点添加标记以显示异常点。我使用的代码:
df1 = pd.DataFrame({'Entropy Values' : MeanValues}, index=DateRange)
df1.plot(linestyle = '-')
Run Code Online (Sandbox Code Playgroud)
我有一个需要添加标记的日期列表。例如:
Dates = ['15:45:00', '15:50:00', '15:55:00', '16:00:00']
Run Code Online (Sandbox Code Playgroud)
我查看了这个链接matplotlib: Setmarkers for individual point on a line。DF.plot 有类似的功能吗?
我真的很感谢你的帮助。谢谢!