簡體   English   中英

條形圖matplotlib / python上的疊加框圖

[英]Overlay box plots on bars matplotlib/python

我正在嘗試在matplotlib中使用單獨的y軸在條形圖上疊加一組箱形圖。 我在任何地方都找不到示例,並且嘗試使用ax.set_zorder()和ax2.set_alpha()進行嘗試。 有沒有一種方法可以僅通過箱形圖來設置背景不透明? ax.patch.set_facecolor('None')完全刪除背景...

這是我嘗試過的:

import matplotlib.pyplot as plt
import numpy as np

example_data = [1,2,1],[1,2,2,2],[3,2,1]

data = [i for i in example_data]

data_len = [len(i) for i in example_data]

labels = ['one','two','three']

plt.figure()

fig, ax = plt.subplots()

plt.boxplot(data)

ax.set_xticklabels(labels,rotation='vertical')


ax2 = ax.twinx()

ax2.bar(ax.get_xticks(),data_len,color='yellow', align='center')

ax2.set_zorder(1)

ax.set_zorder(2)

ax2.set_alpha(0.1)

ax.patch.set_facecolor('None')

plt.show()

在此先感謝您的幫助。

僅更改圖的順序以使箱形圖顯示在條形圖之后怎么樣? 例如:

import matplotlib.pyplot as plt
import numpy as np

example_data = [[1,2,1], [1,2,2,2], [3,2,1]]
data_len = [len(i) for i in example_data]
labels = ['one','two','three']

fig, ax = plt.subplots()
ax.bar(range(1, len(data_len)+1), data_len, color='yellow', align='center')
ax2 = ax.twinx()
ax2.boxplot(example_data)
ax2.set_ylim(ax.get_ylim())
ax.set_xticklabels(labels, rotation='vertical')
plt.show()

這將為您提供:

條形圖和箱形圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM