如何更改 pandas 箱线图中胡须的线型?
How to change the linestyle of whiskers in pandas boxplots?
有没有办法将 pandas 箱线图中胡须的线型更改为“-”?默认似乎是'--'。
我试过:
color = dict(boxes='black', whiskers='black', medians='red', caps='black')
styles=dict(whiskers='-')
bp = df.plot.box(color=color, style=styles)
然而,虽然颜色是我想要的,但样式输入似乎根本不会影响情节。
Here is an example. I always get dashed lines for my whiskers, but would like solid lines.
我也试过了
boxprops = dict(linewidth=1.0, color='black')
whiskerprops = dict(linestyle='-',linewidth=1.0, color='black')
plt.figure()
df.boxplot(boxprops=boxprops, whiskerprops=whiskerprops)
这里,df.boxplot根本不接受输入。
这与
我这里没有 pandas 但它使用了 matplotlib。 pyplot.boxplot returns
A dictionary mapping each component of the boxplot to a list of the matplotlib.lines.Line2D instances created.
一组线条用于胡须。您可以通过字典访问每个胡须来设置 linestyle property。
from pprint import pprint
import matplotlib.pyplot as plt
data = [[1, 2, 3, 4, 5], [2, 3, 4], [1, 1.2, 1.4, 1.8]]
a = plt.boxplot(data)
pprint(a)
for whisker in a['whiskers']:
whisker.set_linestyle('-.')
print(whisker.get_linestyle())
plt.show()
plt.close()
此 line_styles_reference 示例中显示了可用的线型。
Ted Petrou 的评论很有帮助:
将 whiskerprops = dict() 直接放入 df.plot.box 行:
color = dict(boxes='black', whiskers='black', medians='red', caps='black')
bp = df.plot.box(color=color,whiskerprops = dict(linestyle='-',linewidth=1.0
, color='black'))
至于df.boxplot(),by
参数似乎有问题。在这里,将 whiskerprops 和 boxprops 直接纳入论点也有帮助。但是我仍然无法改变盒子的颜色!它仍然是默认的蓝色。以下代码生成实线、黑色晶须,但框是蓝色的。盒子的线宽可以改变!
plt.figure()
df.boxplot(boxprops= dict(linewidth=1.0, color='black')
, whiskerprops=dict(linestyle='-',linewidth=1.0, color='black'))
如果有人可以帮助更改 df.boxplot() 中的框颜色,请发表评论。从我得到的 pandas 文档中,人们无论如何都应该使用 df.plot.box。
import numpy as np
import pandas as pd
mu, sigma = 0, 1
s = np.random.normal(mu, sigma, 1000)
df = pd.DataFrame(s)
bPlot = df.boxplot(whiskerprops = dict(linestyle='--'
, linewidth=2))
有没有办法将 pandas 箱线图中胡须的线型更改为“-”?默认似乎是'--'。
我试过:
color = dict(boxes='black', whiskers='black', medians='red', caps='black')
styles=dict(whiskers='-')
bp = df.plot.box(color=color, style=styles)
然而,虽然颜色是我想要的,但样式输入似乎根本不会影响情节。
Here is an example. I always get dashed lines for my whiskers, but would like solid lines.
我也试过了
boxprops = dict(linewidth=1.0, color='black')
whiskerprops = dict(linestyle='-',linewidth=1.0, color='black')
plt.figure()
df.boxplot(boxprops=boxprops, whiskerprops=whiskerprops)
这里,df.boxplot根本不接受输入。
这与
我这里没有 pandas 但它使用了 matplotlib。 pyplot.boxplot returns
A dictionary mapping each component of the boxplot to a list of the matplotlib.lines.Line2D instances created.
一组线条用于胡须。您可以通过字典访问每个胡须来设置 linestyle property。
from pprint import pprint
import matplotlib.pyplot as plt
data = [[1, 2, 3, 4, 5], [2, 3, 4], [1, 1.2, 1.4, 1.8]]
a = plt.boxplot(data)
pprint(a)
for whisker in a['whiskers']:
whisker.set_linestyle('-.')
print(whisker.get_linestyle())
plt.show()
plt.close()
此 line_styles_reference 示例中显示了可用的线型。
Ted Petrou 的评论很有帮助:
将 whiskerprops = dict() 直接放入 df.plot.box 行:
color = dict(boxes='black', whiskers='black', medians='red', caps='black')
bp = df.plot.box(color=color,whiskerprops = dict(linestyle='-',linewidth=1.0
, color='black'))
至于df.boxplot(),by
参数似乎有问题。在这里,将 whiskerprops 和 boxprops 直接纳入论点也有帮助。但是我仍然无法改变盒子的颜色!它仍然是默认的蓝色。以下代码生成实线、黑色晶须,但框是蓝色的。盒子的线宽可以改变!
plt.figure()
df.boxplot(boxprops= dict(linewidth=1.0, color='black')
, whiskerprops=dict(linestyle='-',linewidth=1.0, color='black'))
如果有人可以帮助更改 df.boxplot() 中的框颜色,请发表评论。从我得到的 pandas 文档中,人们无论如何都应该使用 df.plot.box。
import numpy as np
import pandas as pd
mu, sigma = 0, 1
s = np.random.normal(mu, sigma, 1000)
df = pd.DataFrame(s)
bPlot = df.boxplot(whiskerprops = dict(linestyle='--'
, linewidth=2))