Power BI How-To

How to make a Violin Plot in Power BI

Step-by-step guide to building a Violin Plot in Power BI — no code, no marketplace fees. Native Power BI doesn't ship a violin plot; here's the modern way.

Power BI is the dashboarding tool of choice for data teams across finance, operations, and marketing — but its built-in visual library is intentionally narrow. A Violin Plot is one of the visuals it doesn't ship. If you've tried searching the marketplace, you've found a handful of paid alternatives, each with its own formatting opinions, per-seat licensing, and limits on customisation. This guide walks through the modern way to put a Violin Plot into a Power BI report: skip the marketplace, skip the 30-50 hour TypeScript dev cycle, generate the visual from a plain-English description in under five minutes.

By the end of this guide, you will have a working .pbiviz file imported into Power BI Desktop, your data bound to it, and the visual cross-filtering correctly with the rest of your report. Total wall-clock time: under fifteen minutes for someone who has used Power BI before.

Step-by-step

  1. 1

    Decide the data shape your violin plot needs

    Identify the columns the chart will actually consume — usually one or two categorical fields, one numeric measure, and (for time-series) a date. Get this right before opening Power BI; refactoring after is more painful than refactoring before.

  2. 2

    Build a small sample model in Power BI Desktop

    Open Power BI Desktop. Connect to your source or import a small CSV that matches the shape from step 1. Don't bring in the full dataset — 50-1000 rows is plenty for getting the visual right.

  3. 3

    Generate the visual rather than coding it from scratch

    Native Power BI doesn't ship a violin plot, and writing a custom visual in TypeScript + D3.js takes 30-50 hours per visual. Use VizForge: paste a plain-English description of what you want, get a .pbiviz back in under five minutes.

  4. 4

    Import the .pbiviz into Power BI Desktop

    In Power BI Desktop, click the three-dot menu in the Visualizations pane → Import a visual from a file → select the .pbiviz. The new visual appears in your visualizations gallery; drag it onto the report canvas like any built-in chart.

  5. 5

    Bind your data fields to the visual

    Drop your fields onto the data wells the visual exposes (Category, Value, Series, etc.). The visual updates immediately. If the visualisation looks off, the issue is almost always the field assignment, not the visual itself.

  6. 6

    Configure formatting + cross-filtering

    Open the formatting pane. Adjust colours, labels, and tooltips. Confirm the visual cross-filters correctly with other visuals on the page (click a bar — the rest of the report should respond). Save and publish to Power BI Service when ready.

The AI alternative: Skip steps 1-6 above — describe your violin plot in plain English and VizForge generates the .pbiviz in under five minutes. 5 free credits on signup, no card required.

Generate a violin plot on VizForge →

When to use a violin plot

  • Salary distribution by department
  • Response-time distribution across service tiers
  • Test score distributions by cohort or school
  • Order-value distribution by acquisition channel
  • Sensor-reading distributions by device type

Frequently asked questions

Do I need to know TypeScript or D3.js to follow this guide?

No. The marketplace approach is no-code (you import an existing .pbiviz). The VizForge approach is also no-code — you describe what you want; the AI writes the TypeScript. Knowing TypeScript becomes useful only if you later want to extend the visual yourself, in which case you have the source.

Will the visual work in Power BI Service / Premium / Embedded?

Yes. A .pbiviz is a standard Power BI custom visual — it renders identically across Desktop, Service, Premium, Premium per User, and embedded scenarios. No different from a marketplace visual.

What if I need to change the visual later?

Two paths. (a) Re-prompt with a refinement instruction ("make the bars wider", "use brand colours") and VizForge regenerates a v2 .pbiviz. (b) Open the TypeScript source in VS Code and edit it directly — you own the code.

Violin plot vs. box plot — which should I use?

Violin for distributions that might be bimodal, skewed, or have important tail structure. Box plot when you just need median + quartiles and space is tight.

How is the kernel bandwidth chosen?

Silverman's rule of thumb by default. Prompt for a specific bandwidth multiplier if your data needs smoother or tighter fits.

Can I overlay all data points as dots?

Yes — request 'beeswarm dots overlay' in the prompt for scatter-point overlay; useful for small samples.

Horizontal or vertical?

Both. Vertical works well for many groups with short labels; horizontal is easier when group labels are long.

Other guides for the violin plot

Same visual, different angle — pick the one that matches what you’re trying to do.

VizForge — AI-generated Power BI custom visuals.

Your next visual
ships in 4–10 min.

Sign up free. 5 credits to generate your first visuals on us. No credit card required.