2017-12-18 4 views
-1

Ich habe ein Diagramm mit mehreren Datenpunkten, die ich behalten möchte, wie es ist.Violinplot Stil Histogramm in Plot

Einer der Datenpunkte ist "besser", weil es nicht nur einen Wert, sondern auch eine zugewiesene Wahrscheinlichkeit enthält.

Ich möchte diese Wahrscheinlichkeit zeigen, indem Sie die normalen Datenpunkte aufzeichnen, und für den mit der gemessenen PDF zeigen Sie einen Violinplot.

Bisher habe ich diese über aufgetragen mit einem Streudiagramm durchgeführt, die etwa so aussieht (in einem MWE):

import numpy as np 
import matplotlib.pyplot as plt 



def plot(): 
    x = np.linspace(0,20,20) 
    data = x + np.random.rand(len(x)) 
    y = 2*x 
    histo = np.array([1,2,3,10,20,10,3,1]) 
    y_better = np.array([9.5,9.8,10,11.5,12,13,15,16]) 

    ax = plt.subplot() 
    ax.plot(x,data,'o') 
    ax.scatter(np.ones_like(histo)*x[10],y_better,c=histo,norm=matplotlib.colors.LogNorm(),s=100) 
    plt.show() 

plot() 

, die wie folgt aussieht:

enter image description here

Während das funktioniert und transportiert die Botschaft - sieht aber nicht cool aus.

Nach dem Vorschlag von @ jadsq, entdeckte ich violinplots, die genau so aussehen, was ich will!

Ich habe jetzt das Problem, dass die Violinplot-Funktion Daten annimmt und dann bequem das PDF zeichnet. In meinem Fall habe ich bereits ein gemessenes PDF (was ich grafisch darstellen möchte). Wie könnte ich eine Handlung machen, die dem Violin-Plot ähnelt, aber mit meinem PDF (also ohne die Schätzung)?

+1

Sie auch '' seaborn' swarmplot' betrachten könnte: https://seaborn.pydata.org/generated/ seaborn.swarmplot.html # seaborn.swarmplot – tom

Antwort

1

Für mich sieht es wie eine Art aus, Fehlerbalken auf Ihrem Punkt anzuzeigen, also könnten Sie vielleicht versuchen, es mit einer box plot darzustellen.

In Bezug auf die Farbkarte: nur cmap='inferno' im Streu Anruf hinzufügen, etwa so:

ax.scatter(np.ones_like(histo)*x[10],y_better,c=histo,norm=matplotlib.colors.LogNorm(),s=100,cmap='inferno') 
+0

Danke. Ihrem Vorschlag von Boxplots folgend, entdeckte ich die Geigen, die großartig aussehen. Jetzt habe ich noch ein Problem und habe meine Frage aktualisiert! – Sebastiano1991

Verwandte Themen