Я хочу создать ящик данных, собранный с четырех разных сайтов за последние двадцать лет (т. Е. На каждом сайте будет 20y данных). На рисунке будет отображаться 80 ящиков. Чтобы сделать фигуру разборчивой, я хочу, чтобы каждое смещение ящика и разные поля для каждого сайта. Это даст повторную серию ящиков (например, ящики для сайтов1, site2, site3, site3, site1, site2, site3, ...). Создание boxplot не проблема; смещение ящиков, похоже, является проблемой. напримерPandas boxplot x-axis setting
import numpy as np
import pandas as pd
from pylab import *
first = pd.DataFrame(np.random.rand(10,5),columns=np.arange(0,5))
second = pd.DataFrame(np.random.rand(10,5),columns=np.arange(5,10))
fig = figure(figsize=(9,6.5))
ax = fig.add_subplot(111)
box1 = first.boxplot(ax=ax,notch=False,widths=0.20,sym='',rot=-45)
setp(box1['caps'],color='r',linewidth=2)
setp(box1['boxes'],color='r',linewidth=2)
setp(box1['medians'],color='r',linewidth=2)
setp(box1['whiskers'],color='r',linewidth=2,linestyle='-')
box2 = second.boxplot(ax=ax,notch=False,widths=0.20,sym='',rot=-45)
setp(box2['caps'],color='k',linewidth=2)
setp(box2['boxes'],color='k',linewidth=2)
setp(box2['medians'],color='k',linewidth=2)
setp(box2['whiskers'],color='k',linewidth=2,linestyle='-')
Изначально я надеялся, что панды будут индексировать ось х по имени столбца, но панды, кажется, индексация оси х в соответствии с положением колонки, что расстраивает. Может ли кто-нибудь рекомендовать метод смещения ящиков, чтобы они не лежали друг над другом?
Спасибо xndrme, но цель состоит в том, чтобы иметь все в одном сюжете (то есть в том же подзаголовке). – tnknepp
Я отредактировал ответ, надеюсь, что это поможет :) –
О, спасибо. Это легко! – tnknepp