【问题标题】:Can matplotlib errorbars have a linestyle set?matplotlib 错误栏可以设置线条样式吗?
【发布时间】:2014-04-11 09:59:31
【问题描述】:

是否可以为 matplotlib 误差线设置与数据点线型相同的线型?

在下面的示例中,绘制了两条线,其中一条是虚线,因为 ls='-.'范围。但是,误差线是实线。是否可以修改错误栏的样式/外观以匹配结果行?

import matplotlib.pyplot as plt
import numpy as np

x = np.array(range(0,10))
y = np.array(range(0,10))
yerr = np.array(range(1,11)) / 5.0
yerr2 = np.array(range(1,11)) / 4.0

y2 = np.array(range(0,10)) * 1.2

plt.errorbar(x, y, yerr=yerr, lw=8, errorevery=2, ls='-.')
plt.errorbar(x, y2, yerr=yerr2, lw=8, errorevery=3)
plt.show()

【问题讨论】:

标签: python matplotlib plot


【解决方案1】:

这很简单,更改错误栏的线条样式只需要一个简单的.set_linestyle 调用:

eb1=plt.errorbar(x, y, yerr=yerr, lw=2, errorevery=2, ls='-.')
eb1[-1][0].set_linestyle('--') #eb1[-1][0] is the LineCollection objects of the errorbar lines
eb2=plt.errorbar(x, y2, yerr=yerr2, lw=2, errorevery=3)
eb2[-1][0].set_linestyle('-.')

【讨论】:

  • 知道是否可以指定dashes 选项吗?
  • @oliversm 是的,您可以使用单词或符号作为说明符。 'dashed' 等于 '--'
  • @smcs 不是dashed 而是dashes,比如ls='-', dashes=(10, 5)...
  • @oliversm 对不起:D 我只是摆弄了一些,是的,你可以这样做:eb1[-1][0].set_linestyle((offset,onoffseq)),例如offset = 2(指定划线开始的位置)和onoffseq = (10,5)(指定模式,就像对其他图使用dashes 选项一样)。
猜你喜欢
  • 2018-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-10
  • 1970-01-01
  • 2011-04-16
相关资源
最近更新 更多